Tải bản đầy đủ (.pdf) (83 trang)

Giao tiếp máy tính với vi điều khiển pic18f4550 qua cổng USB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.86 MB, 83 trang )

ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Chương 1:
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu chung về Oscilloscope

Hình vẽ 1.1: Máy hiển thị sóng Oscilloscope
Máy Hiện sóng “oscilloscope” là một thiết bị hiển thị đồ thị - nó vẽ ra đồ thị của một tín
hiệu điện. Trong hầu hết các ứng dụng, đồ thị chỉ ra tín hiệu thay đối thế nào theo thời
gian: Trục dọc (Y) biểu diễn điện áp và trục ngang (X) biểu diễn thời gian. Cường độ hay
độ sáng của sự hiển thị đôi khi được gọi là trục Z. Đây là đồ thị đơn giản có thể chỉ ra cho
ta nhiều điều về một tín hiệu.
Sau đây là một số công năng:
-

Nhận dạng tín hiệu (Xung vuông, răng cưa, hình sin, tín hiệu hình, tín hiệu
tiếng…)

-

Xác định rõ các giá trị thời gian và mức điện áp và đường đi của một tín hiệu

-

Tính toán được tần số của một tín hiệu dao động

-

Nhận thấy “các phần động” của một mạch điện được biểu diễn bởi tín hiệu



-

Chỉ ra nếu một thành phần lỗi làm méo dạng tín hiệu

-

Tìm ra tín hiệu như thế nào là dòng một chiều hay dòng xoay chiều

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 1


ĐỒ ÁN TỐT NGHIỆP
-

GVHD: TS. Nguyễn Văn Minh Trí

Chỉ ra tín hiệu như thế nào là nhiễu và nếu có thì nhiễu thay đổi thế nào theo thời
gian...

Hình vẽ 1.2: Dạng đồ thị trên Oscilloscope
Máy oscilloscope trông rất giống với một cái tivi nhỏ, nó có một mạng lưới được vẽ trên
màn hình và có nhiều núm điều khiển hơn tivi. Mặt trước của một oscilloscope thường có
các phần điều khiển được chia thành các phần Dọc, Ngang và Trigger. Có các điều khiển
hiển thị và các đầu nối đầu vào.
1.2. Chức năng của Oscilloscope
Sự hữu ích của một máy oscilloscope không bị giới hạn chỉ trong thế giới của các thiết bị
điện tử. Với một bộ chuyển đổi thích hợp, một máy oscilloscope có thể đo đạc được tất cả

các kiểu hiện tượng. Một bộ chuyển đổi là một thiết bị mà tạo ra tín hiệu điện đáp ứng lại
các kích thích vật lí, ví dụ như âm thanh, áp lực cơ khí, áp suất, ánh sáng hoặc nhiệt độ.
Ví dụ như, một microphone là một bộ chuyển đổi...
Một kỹ sư ô tô có thể dùng máy oscilloscope để đo đạc sự rung của động cơ. Một nghiên
cứu sinh y khoa có thể dùng máy oscilloscope để đo đạc các sóng não. Các khả năng là
vô tận!
1.3. Oscilloscope số và tương tự
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 2


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình vẽ 1.3: Oscilloscope số và tương tự
Thiết bị điện tử có thể được chia làm 2 loại: tương tự và số. Thiết bị tương tự làm việc
với các điện áp biến đổi liên tục, trong khi thiết bị số làm việc với các số nhị phân rời rạc
mà có thể biểu diễn các mẫu điện áp. Lấy ví dụ, máy quay đĩa thông thường là thiết bị
tương tự, còn máy chơi đĩa compact là một thiết bị số.
Các máy oscilloscope cũng có các loại tương tự và loại số. Máy oscilloscope tương tự là
việc trực tiếp với điện áp đặt vào được đo để di chuyển dòng electron ngang qua màn
hình máy oscilloscope
Trái lại, máy oscilloscope số lấy mẫu dạng sóng và dùng một bộ chuyển đổi tương tự/số
(A/D) để chuyển đổi điện áp được đo thành thông tin số. Sau đó, nó dùng thông tin số
này để tái cấu trúc lại dạng sóng trên màn hình
Đối với nhiều ứng dụng, hoặc là máy oscilloscope số hoặc là máy oscilloscope tương tự
sẽ được dùng. Tuy nhiên, mỗi loại máy có một số đặc tính riêng làm cho nó thích hợp
hơn hoặc kém thích hợp hơn trong các tác vụ riêng.


SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 3


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Người ta thường thích các máy oscilloscope tương tự hơn vì nó quan trọng để hiển thị
nhanh chóng các tín hiệu đang thay đổi trong thời gian thực (hay như là chúng đang diễn
ra)
Các máy oscilloscope số cho phép bạn ghi lại và xem các sự kiện mà chúng có thể chỉ
diễn ra duy nhất 1 lần. Chúng có thể xử lý dữ liệu dạng sóng số và gửi các dữ liệu đó tới
máy tính để xử lý. Như vậy, chúng có thể lưu trữ dữ liệu dạng sóng số để xem và in ra
sau đó.
1.4. Oscilloscope tương tự
Khi bạn nối đầu dò của máy oscilloscope vào mạch điện, tín hiệu điện áp đi qua đầu dò
tới hệ thống dọc của máy oscilloscope. Tùy thuộc vào bạn thiết đặt chia thang đo dọc
(điều khiển volts/div) như thế nào thì bộ suy hao làm giảm điện áp tín hiệu hoặc là bộ
khuếch đại làm tăng điện áp tín hiệu điện áp đặt vào các bản lái tia làm cho một điểm
sáng di chuyển. (môt dòng electron đập vào lớp phosphor bên trong CRT tạo ra điểm
sáng). Điện áp dương làm cho điểm sáng đi lên trong khi điện áp âm làm cho điểm sáng
đi xuống.
Tín hiệu cũng đồng thời đi tới hệ thống trigger để khởi động hay kích một “quét ngang”.
Quét ngang là một thuật ngữ chỉ việc hệ thống ngang làm cho điểm sáng di chuyển ngang
trên màn hình. Việc kích hệ thống ngang gây ra thời gian cơ bản để di chuyển điếm sang
ngang trên màn hình từ trái sang phải trong một khoảng thời gian xác định. Nhiều lần
quét thành các dãy nhanh làm cho chuyển động của điểm sáng được hợp thành một

đường liền nét. Ở các tốc độ cao hơn, điểm sáng có thể quét ngang màn hình lên tới
500,000 lần mỗi giây.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 4


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình vẽ 1.4: Oscilloscope tương tự
Cùng với nhau, việc quét ngang và việc lái dọc vạch ra một đồ thị tín hiệu trên màng
hình. Bộ kích khởi là cần thiết để ổn định hóa tín hiệu tuần hoàn. Nó đảm bảo rằng lần
quét bắt đầu ở cùng một điểm với tín hiệu tuần hoàn, dẫn tới một hình ảnh rõ ràng được
chỉ ra trên hình sau:

Hình vẽ 1.5: Bộ kích khởi (Trigger)
Kết luận lại, để dùng một máy oscilloscope tương tự, bạn cần điều chỉnh ba thiết lập cơ
bản để thích ứng với tín hiệu đưa vào:
-

Việc làm suy giảm hoặc khuếch đại tín hiệu. Dùng điều khiển volts/div để điều
chỉnh biên độ của tín hiệu trước khi nó được đặt vào các bản lái tia chiều dọc.

-

Thời gian cơ bản. Dùng điều khiển sec/div để thiết đặt độ lớn của thời gian trên
mỗi khoảng chia được biển diễn ngang qua màn hình.


SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 5


ĐỒ ÁN TỐT NGHIỆP
-

GVHD: TS. Nguyễn Văn Minh Trí

Kích khởi máy oscilloscope. Sử dụng mức kích để ổn định hóa tín hiệu tuần hoàn
cũng như việc kích các sự kiện đơn.

Cũng vậy, việc điều chỉnh các điều khiển tiêu cự và cường độ cho phép bạn tao ra hình
ảnh sắc nét và dễ nhìn (không bị chói).
1.5. Sơ lượt về máy Oscilloscope số
1.5.1. Khái niệm về Oscilloscope số
Để tìm hiểu khái niệm về Osilloscope số ta cần phải hiểu được thế nào là một Osilloscope
có nhớ. Osilloscope có nhớ là loại Osilloscope dùng để khảo sát các loại tín hiệu tức
thời, tuần hoàn chậm, hay tín hiệu ngắn, tín hiệu quá độ... Dải tần số có thể đến 150MHz.
Dải tín hiệu từ hàng chục mV đến hàng trăm vôn.
Osilloscope số là loại dao động ký có nhớ số. Nguyên lý làm việc dựa trên việc số hóa tín
hiệu khảo sát nhờ bộ chuyển đổi A /D gọi là quá trình lấy mẫu và chuyển đổi. Các mẫu
được ghi vào bộ nhớ, sau đó được biến đổi trở lại thành tương tự phục vụ cho mục đính
hiển thị.
1.5.2. Cấu trúc Oscilloscope số

Tín
hiệu đo


Mạch
đo

Bộ
ADC

Bộ
VXL

Máy tính hiển
thị kết quả

Hình vẽ 1.6: Cấu trúc của Oscilloscope số
-

Tín hiệu đo: Xung vuông, răng cưa, hình sin, tín hiệu hình, tín hiệu tiếng, áp lực
cơ khí, áp suất, ánh sáng hoặc nhiệt độ…

-

Mạch đo: Tùy thuộc vào loại tín hiệu đầu vào mà mạch đo sẽ tương tự như là
mạch khuếch đại và chuyển đổi tín hiệu. Mạch khuếch đại thường là mạch có hệ
số khuếch đại >0. Mạch chuyển đổi đóng vai trò chuyển đổi từ tín hiệu sau mạch
khuếch đại về loại tín hiệu phù hợp với loại tín hiệu đầu vào của bộ ADC. Thông
thường tín hiệu mà các oscilloscope đo thường là các tín hiệu dòng hoạc tín hiệu
áp. Vì vậy mạch khuếch đại thường là các mạch giảm dòng hoặc mạch phân áp

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1


Trang 6


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

sử dụng các phần tử như biến dòng, biến áp, linh kiện bán dẫn, mạch điện trở, điện
cảm, điện dung…
-

Bộ ADC: Là bộ chuyển đổi tín hiệu tương tự thành tín hiệu số. Tín hiệu đo sau
khi đi qua mạch đo sẽ được đưa vào bộ ADC. Bộ ADC sẽ chuyển đổi dạng tín
hiệu này từ tín hiệu tương tự thành tín hiệu số để đưa đến bộ vi xử lí. Trên thực tế
bộ ADC có độ phân giải khác nhau: 8bit, 10bit, 12bit, 16bit, 24bit... Độ phân giải
càng lớn thì tín hiệu đầu ra số sẽ càng gần với tín hiệu đầu vào tương tự. Đầu ra số
của bộ ADC có thể là bus song song hoặc nối tiếp.

-

Bộ vi xử lí: Bộ vi xử lí đóng vai trò xử lí trung tâm, nó nhận kết quả đo từ bộ
ADC để gia công và xử lí trước khi gửi về máy tính để hiển thị. Bộ vi xử lí được
sử dụng phổ biến hiện nay là các họ vi điều khiển như 8051, AVR, PIC, PSOC,
ARM... với tốc độ xử lí phù hợp. Ngày nay các vi điều khiển được tích hợp thêm
trong nó các bộ ADC có khả năng trích mẫu tốc độ cao, ngoài ra nó còn có khả
năng ghép nối với máy tính theo các chuẩn ghép nối. Ngoài các khả năng trên một
ưu điểm lớn nữa của bộ vi xử lí là khả năng lưu trữ thông tin, khả năng này phù
hợp cho các cho các osilloscope tốc độ cao.

-


Máy tính hiển thị kết quả đo: Máy tính sẽ nhận các thông tin từ bộ vi xử lí sau
đó gia công và hiển thị. Việc truyền nhận thông tin từ vi xử lí đến máy tính và
ngược lại sẽ được thực hiện qua các chuẩn ghép nối như RS232, LPT, USB, khe
cắm mở rộng…

1.5.3. Nguyên lý hoạt động của Oscilloscope số
Một vài hệ thống mà được cấu thành từ các máy oscilloscope số thì cũng tương tự như
bằng các máy oscilloscope tương tự; tuy nhiên, các máy oscilloscope số bao gồm thêm hệ
thống xử lý số liệu.
Với hệ thống thêm vào, máy oscilloscope số thu thập số liệu cho toàn bộ dạng sóng và
sau đó hiển thị chúng Khi các bạn nối đầu đo (dò) của máy oscilloscope số vào mạch
điện; hệ thống dọc sẽ điều chỉnh biên độ của tín hiệu như trong máy oscilloscope tương
tự.
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 7


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Tiếp tới, bộ chuyển đổi tương tự/số trong hệ thống thu thập lấy mẫu tín hiệu ở các thời
điểm rời rạc và chuyển đổi điện áp tín hiệu ở các điểm này thành giá trị số, gọi là các
điểm lấy mẫu. Xung lấy mẫu của hệ thống ngang quy định bộ ADC lấy mẫu bao nhiên
lần. Tốc độ mà ở đó xung “ticks” được gọi là tốc độ lấy mẫu và đươc đo bằng số mẫu
trên giây (Xem hình vẽ dưới).

Hình vẽ 1.7: Nguyên lý hoạt động của Oscilloscope số

Các điểm mẫu từ ADC được lưu trữ trong bộ nhớ như là các điểm dạng sóng. Có nhiều
hơn một điểm mẫu có thể cấu thành nên một điểm dạng sóng.
Cùng với nhau, các điểm dạng sóng cấu thành nên một bản ghi dạng sóng. Số điểm sóng
được dùng để tạo nên một bản ghi dạng sóng được gọi là độ dài bản ghi. Hệ thống kích
khởi quy định điểm bắt đầu và điểm kết thúc bản ghi. Màn hình nhận các điểm bản ghi
này sau khi chúng được lưu trữ trong bộ nhớ.
Tùy thuộc vào khả năng của máy oscilloscope thiết kế, việc xử lý thêm các điểm mẫu có
thể được tiến hành để làm nâng cao chất lượng hiển thị. Bộ tiền kích khởi có thể hữu ích
cho phép xem các sự kiện trước điểm kích.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 8


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Về cơ bản, với một máy máy oscilloscope số cũng như với máy máy oscilloscope tương
tự, cần điều chỉnh các thiết lập dọc, ngang và kích khởi để có thể đo đạc được.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 9


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí


CHƯƠNG 2:
TỔNG QUAN VI ĐIỀU KHIỂN PIC18F2455/2550/4455/4550
2.1. Giới thiệu vi điều khiển PIC18F2455/2550/4455/4550
Họ vi điều khiển PIC18F2455/2550/4455/4550 là họ vi điều khiển tiên tiến của
MICROCHIP, đặc biệt họ này có tích hợp cổng USB 2.0, ADC 10 bit và tích hợp nhiều
công cụ khác. Mạnh, mềm dẻo là từ đánh giá ngắn gọn về họ vi điều khiển này. Chương
này giới thiệu tổng quan các khối tích hợp của họ vi điều khiển PIC18F và các đặc điểm
của các khối tích hợp, mục đích là phục vụ cho việc thiết kế ở các chương sau.
Các đặc điểm cổng USB:
-

USB V2.0

-

Tốc độ thấp (1.5 Mb/s) và tốc độ toàn phần (12Mb/s)

-

Hỗ trợ tới 32 điểm cuối

-

RAM 1 kByte cho khối USB

-

Mạch thu phát USB trên chip cùng với mạch ổn áp 3.3V


-

Cổng song song streaming (SPP) cho truyền streaming USB

-

Hỗ trợ cả 4 chế độ truyền:


Truyền điều khiển (Control transfer)



Truyền ngắt (Interrupt transfer)



Truyền đồng bộ (Isochronous transfer)



Truyền khối (Bulk transfer)

Các đặc điểm ngoại vi:
-

Dòng vào/ra (sink/source) cao 25mA/25mA

-


Ba ngắt ngoài

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 10


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

-

Bốn khối timer (timer0 đến timer3)

-

Có tới 2 khối CCP (Capture/Compare/PWM)

-

Capture 16 bit cực đại, độ phân giải 6.25 ns ( TCY /16 )

-

So sánh 16 bit cực đại, độ phân giải 100 ns ( TCY )

-

PWM có lối ra với độ giải từ 1 đến 10 bit


-

Khối CCP nâng cao ECCP (Enhanced Capture/Compare/PWM)

-

Nhiều chế độ lối ra

-

Có thể chọn cực tính

-

Thời gian chết lập trình được

-

Tự động tắt và tự động khởi động

-

Khối USART nâng cao

-

Hỗ trợ bus LIN

-


Cổng truyền nối tiếp đồng bộ chủ MSSP (Master Synchronous Serial Port)

-

ADC 10 bit, 13 lối vào, thời gian thu thập dữ liệu lập trình được

-

2 bộ so sánh tương tự với đa hợp lối vào

Các đặc điểm của vi điều khiển
-

Cấu trúc tối ưu biên dịch C với tập lệnh mở rộng tùy chọn

-

Bộ nhớ chương trình flash nâng cao cho phép 100.000 lần xóa/ghi

-

Bộ nhớ dữ liệu EEPROM cho phép 1.000.000 lần xóa/ghi

-

Lưu trữ dữ liệu trong bộ nhớ flash/EEPROM hơn 40 năm

-


Ngắt nhiều mức ưu tiên

-

Watchdog timer mở rộng, chu kỳ khả trình từ 41 ms đến 131 s

-

Bảo vệ mã lập trình

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 11


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

-

Nguồn nuôi đơn 5V cho lập trình nối tiếp trên mạch qua 2 chân

-

Mạch gỡ lỗi qua 2 chân

-

Dải điện áp hoạt động rộng (2.0V đến 5.5V)


Bảng 2.1: Các tính năng kỹ thuật của các vi điều khiển PIC18F2455/2550/4455/4550
Trong họ vi điều khiển PIC18, chữ giữa “F” cho phép Vdd từ 4.2V đến 5.5V, chữ giữa
“LF” cho phép mở rộng giải Vdd từ 2.0V đến 5.5V.
2.2. Dao động xung nhịp
Mạch dao động với nhiều tùy chọn. Họ vi điều khiển PIC18F2455/2550/4550 có 12 tùy
chọn mạch dao động, bao gồm:
-

4 chế độ dao động tinh thể hoặc cộng hưởng gốm

-

4 chế độ xung nhịp ngoài

-

Một bộ dao động nội cung cấp xung nhịp 8MHz và mạch dao động RC nội cung
cấp xung nhịp 31KHz, cũng như 6 lựa chọn tần số xung nhịp từ 125kHz đến
4MHz, tất cả ta có 8 lựa chọn tần số xung nhịp.

-

Nhân tần dùng PLL (Phase Loop Lock) áp dụng cho cả dao động tinh thể tần số
cao và dao động ngoài cho dải tần số xung nhịp từ 4MHz đến 48MHz.

-

Hoạt động xung nhịp kép không đồng bộ (Asynchronous dual clock operation):
khối USB hoạt động xung nhịp tần số cao trong khi các khối còn lại trong vi điều

khiển hoạt động với xung nhịp tần số thấp hơn.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 12


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình 2.1: Sơ đồ khối PIC18F2455/2550 (28 chân)
-

Theo dõi an toàn xung nhịp (Fail-Safe clock monitor): tùy chọn này cho phép
nguồn xung nhịp chính luôn luôn được theo dõi, nếu xảy ra trường hợp xung nhịp

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 13


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

chính tắt vi điều khiển sẽ tiếp tục hoạt động với tần số xung nhịp thấp hơn.
-

Khởi động hai tốc độ (Two-Speed Start-up): Tùy chọn này cho phép nguồn xung

nhịp nội hoạt động khi reset lúc khởi động hay vi điều khiển hoạt động trở lại từ
chế độ ngủ (wake-up from sleep mode) cho đến khi nguồn xung nhịp chính đã sẵn
sàng.

Thạch anh dao động / cộng hưởng gốm: Ở chế độ HS, HSPLL, XT, XTPLL thạch anh
dao động/ cộng hưởng gốm mắc ở chân OSC1 và OSC2. Ở mỗi chế độ C1, C2 đặt cạnh
thạch anh dao động/cộnghưởng gốm có giá trị khác nhau (tham khảo datasheet
PIC18F2455/2550/4550).
Nhân tần số PLL: Trong vi điều khiển PIC18F2455/2550/4550 có khối PLL (Phase
Loop Lock), điều này cho phép khối USB hoạt động ở tần số cao trong khi xung nhịp của
hệ thống ở tần số thấp hơn. PLL được phép hoạt động ở các chế độ dao động HSPLL,
XTPLL, ECPLL và ECPIO. Nó được thiết kế để sinh ra tần số xung nhịp chuẩn 96MHz
từ tần số lối vào cố định 4MHz.
Khối dao động nội (INTOSC): Trong vi điều khiển PIC18F2455/2550/4550 có khối dao
động nội phát ra hai tín hiệu xung nhịp khác nhau. Lối ra trực tiếp 8 MHz, lối ra qua bộ
chia (postscaler) cung cấp xung nhịp từ 31 KHz đến 4 MHz. Lưu ý nguồn dao động lấy
từ thạch anh dao động/ cộng hưởng gốm gọi là dao động ngoài. Nguồn dao động nội lối
ra 31KHZ cho phép trong các trường hợp:
-

Timer bật nguồn (Power-up timer)

-

Theo dõi an toàn xung nhịp

-

Watchdog timer


-

Khởi động hai tốc độ (Two-Speed Start-up)

Lối ra dao động nội được chuẩn bởi hãng chế tạo nhưng vẫn có thể tinh chỉnh bởi người
sử dụng, việc tinh chỉnh này được thực hiện nhờ thanh ghi điều chỉnh dao động
(Oscillator Control Register).
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 14


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình 2.2: Sơ đồ khối PIC18F4455/4550 (40/44 chân)
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 15


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình 2.3: Sơ đồ khối dao động
Các chế độ dao động nội: Sư lựa chọn nguồn xung nhịp cho USB xác định bởi các chế độ
dao động nội riêng biệt:
-


Chế độ INTHS: Xung nhịp USB được cung cấp bởi dao động trong chế độ HS.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 16


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

-

Chế độ INTXT: Xung nhịp USB được cung cấp bởi dao động trong chế độ XT

-

Chế độ INTXT: Xung nhịp USB được cung cấp bởi dao động trong chế độ XT

-

Chế độ INTCKO: Xung nhịp USB được cung cấp từ dao động bên ngoài thạch
anh dao động/ cộng hưởng gốm.

-

Chế độ INTIO: xung nhịp cho USB được cung cấp vào chân OSC1/CLK1, còn
chân OSC2/CLK2 có chức năng như chân I/O.


-

Tần số dao động cho USB là 6 MHz hoặc 48 MHz tùy thuộc vào chế độ tốc độ
thấp (low speed) hay chế độ tốc độ toàn phần (full speed).

-

Tần số dao động cho USB là 6 MHz hoặc 48 MHz tùy thuộc vào chế độ tốc độ
thấp (low speed) hay chế độ tốc độ toàn phần (full speed).

2.3. Bộ nhớ
Bộ nhớ Flash nâng cao (Enhanced Flash) sử dụng cho bộ nhớ chương trình và bộ nhớ dữ
liệu EEPROM. Số lần xóa/ghi cho bộ nhớ chương trình là 100.000 lần và cho bộ nhớ dữ
liệu là 1.000.000 lần. Dữ liệu lưu lại trong bộ nhớ đến 40 năm mà không cần làm tươi. Có
ba loại bộ nhớ trong họ PIC18:
-

Bộ nhớ chương trình

-

RAM dữ liệu

-

EEPROM dữ liệu

Theo cấu trúc Harvard, bộ nhớ chương trình và dữ liệu dùng 2 bus riêng, điều này cho
phép tiếp cận đồng thời 2 vùng bộ nhớ. EEPROM dữ liệu có thể coi như thiết bị ngoại vi
vì tiếp cận thông qua bộ thanh ghi điều khiển. Họ vi điều khiển PIC18 có bộ đếm chương

trình 21 bit nên có khả năng định vị 2 Mbyte bộ nhớ chương trình.
IC18F2455,IC18F4455 có 24 Kbyte bộ nhớ flash và có thể chứa tới 12.288 lệnh từ đơn.
IC18F2550, PIC18F4550 có 32 Kbyte bộ nhớ flash và có thể chứa đến 16.384 lệnh từ
đơn.
Khả năng tự lập trình: Họ vi điều khiển PIC18F2455/2550/4550 có khả năng tự nạp
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 17


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

chương trình vào bộ nhớ chương trình mà không cần phải có thiết bị phụ bên ngoài, điều
này được thực hiện bằng đoạn chương trình con Bootloader đặt trên phần cao bộ nhớ
chương trình vào được bảo vệ. Khả năng tự lập trình cho phép các ứng dụng dùng họ vi
điều khiển này có khả năng nâng cấp firm-ware.
Bộ nhớ chương trình Flash: 24Kbytes cho PIC18FX455, 32 Kbytes cho PIC18FX550.

Hình 2.4: Bản đồ tổ chức bộ nhớ họ vi điều khiển PIC18F2455/2550/4550
2.4. Khối Timer
Họ vi điều khiển PIC18 có 4 bộ timer: timer0, timer1, timer2 và timer3. Mỗi timer có tính
năng riêng.
Timer0:
-

Định chế độ hoạt động bằng phần mềm: timer hoặc counter, 8 bit hoặc 16 bit

-


Bộ chia khả trình 8 bit chuyên dụng

-

Nguồn xung nhịp chọn được (trong hay ngoài)

-

Khả năng chọn cạnh đối với xung nhịp ngoài

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 18


ĐỒ ÁN TỐT NGHIỆP
-

GVHD: TS. Nguyễn Văn Minh Trí

Ngắt khi tràn

Timer1:
-

Chọn bằng phần mềm timer hay counter 16 bit

-


Khả năng đọc viết thanh ghi 8 bit (TMR1H và TMR1L)

-

Chọn nguồn xung nhịp trong hay ngoài

-

Ngắt khi tràn

-

Khối RESET hoạt động trên cơ sở xung kích sự kiện CCP.

-

Cờ trạng thái xung nhịp (T1RUN)

Timer2:
-

Timer 8 bit (TMR2) và thanh ghi chu kỳ (PR2)

-

Khả năng đọc viết cả 2 thanh ghi

-

Lập trình bằng phần mềm cho bộ chia (1:1, 1:4, 1:16)


-

Ngắt khi TMR2 gặp PR2

-

Tùy chọn dùng như xung nhịp dịch cho khối MSSP

Timer3:
-

Chọn bằng phần mềm hoạt động như là timer hoặc counter 16 bit

-

Khả năng đọc ghi thanh ghi 8 bit (TMR3H và TMR3L)

-

Khả năng chọn nguồn xung nhịp (trong hoặc ngoài)

-

Ngắt khi tràn

-

Khối RESET hoạt động trên cơ sở xung kích sự kiện CCP


2.5. Khối CAPTURE/SO SÁNH/PWM (CCP).
Họ vi điều khiển PIC18F2455/2550/4455/4550 có tất cả 2 khối CCP. Mỗi khối chứa
thanh ghi 16 bit. Chế độ Capture: Cặp thanh ghi CCPRxH:CCPRxL bắt giá trị 16 bit của
thanh ghi TMR1 hoặc TMR3 khi sự kiện xảy ra ở chân CCPx tương ứng. Một sự kiện
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 19


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

được định nghĩa:
-

Mỗi khi có cạnh lên

-

Mỗi khi có cạnh xuống

-

Mỗi khi có cạnh lên thứ 4

-

Mỗi khi có cạnh lên thứ 16


Sự kiện được chọn bởi bit chọn chế độ CCPxM3:CCPxM0 (CCPxCON<3:0>). Khi sự
kiện Capture được thực hiện, bit cờ yêu cầu ngắt (CCPxIF) được SET và chỉ xóa bằng
phần mềm.
Chế độ so sánh: Thanh ghi 16 bit CCPRx có giá trị hằng số được so sánh với giá trị của
cặp thanh ghi TMR1 hoặc TMR3. Khi xảy ra sự kiện bằng nhau, chân CCPx có thể là:
-

Chuyển mức cao

-

Chuyển mức thấp

-

Phát xung (cực tính dương hoặc âm)

-

Giữ nguyên không thay đổi trạng thái (phản ánh trạng thái chốt I/O)

Chân CCPx xác định trên cơ sở giá trị của bit chọn chế độ (CCPxM3:CCPxM0) . Khi sự
kiện so sánh bằng nhau bit cờ ngắt CCPxIF được set (mức1).
Chế độ PWM (Pulse-Width Modulation: điều chế độ rộng xung): Chân CCPx phát sinh
xung PMW độ phân giải 10 bit. Độ rộng xung (Duty Cycle) của xung PWM được hình
thành theo minh họa hình dưới đây.

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 20



ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

Hình 2.5: Hình thành xung PWM ở lối ra
Độ rộng xung PWM được xác định bằng cách viết vào thanh ghi CCPRxL và các bit
CCPxCON<5:4> , CCPRxL chứa 8 bit cao và CCPxCON<5:4> chứa 2 bit thấp. giá trị 10
bit độ phân giải là giá trị CCPRxL : CCPxCON<5:4>
Độ rộng xung PWM được tính theo công thức:

PWM Duty Cycle=(CCPRxL : CCPxCON <5 : 4 >*Tosc*(TMR2 Pr esscale Value)

CCPRxL và CCPxCON<5:4> có thể được viết vào mọi thời điểm nhưng giá trị độ rộng
xung không chốt vào CCPRxH cho tới khi có sự gặp nhau (bằng) giữa PR2 và TMR2.
Trong chế độ PWM CCPRxH là thanh ghi chỉ đọc.
2.6. Khối USB (Universal Serial Bus)
Họ PIC18FX455/X550 tích hợp cổng USB hỗ trợ cả tốc độ truyền toàn phần (full-peed)
12Mb/s và tốc độ thấp (low-speed) 1.5 Mb/s cho phép giao tiếp nhanh giữa USB máy chủ
và USB vi điều khiển PIC. Hỗ trợ đến 32 điểm cuối. RAM 1 kbyte cho USB. Hỗ trợ đủ 4
lối truyền: truyền điều khiển (Control transfer); truyền ngắt (Interrupt transfer); truyền
đẳng thời (Isochronous transfer) và truyền khối (Bulk transfer).
Hoạt động của khối USB được định cấu hình và quản lý thông qua 3 thanh ghi điều
khiển. Hơn nữa có 19 thanh ghi quản lý giao tiếp USB thực. Các thanh ghi đó là:
-

Thanh ghi điều khiển USB (UCON): Thanh ghi này chứa các bit cần cho điều

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1


Trang 21


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

khiển trong quá trình truyền gồm: cho phép ngoại vi USB chính; reset con trỏ bộ
đệm ping-pong; điều khiển chế độ treo; cấm truyền gói.
-

Thanh ghi cấu hình USB (UCFG): Trước khi liên lạc qua USB, khối USB kết hợp
phần cứng ngoài và/hoặc trong phải được đặt cấu hình. UCFG chứa các bit liên
quan đến việc đặt: tốc độ full-speed hay low-speed; cho phép dùng điện trở kéo
lên trong IC; cho phép thu-phat trong IC; sử dụng bộ đệm ping-pong.

-

Thanh ghi trạng thái truyền USB (USTAT): Báo cáo trạng thái giao tiếp trong SIE.

Hình vẽ 2.6: Sơ đồ khối USB
-

Thanh ghi địa chỉ linh kiện USB (UADDR): Chứa duy nhất địa chỉ USB mà ngoại
vi sẽ giải mã khi tích cực. UADDR = 00h khi reset USB bởi vi điều khiển. Địa chỉ
USB phải được viết bởi vi điều khiển trong pha setup USB được hỗ trợ bởi
firmware của Microchip.

-


Thanh ghi số frame (UFRMH:UFRML): Thanh ghi số frame chứa số frame 11 bit,
8 bit thấp chứa trong UFRML, 3 bit cao chứa trong UFRMH. Cặp thanh ghi được
cập nhật với số frame hiện tại khi gói SOF được nhận. Thanh ghi số frame được

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 22


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

dùng căn bản cho lối truyền đẳng thời (isochronous transfer).
-

Thanh ghi cho phép điểm cuối từ 0 đến 15 (UEPn): Mỗi của 16 điểm cuối hai
chiều có thanh ghi điều khiển độc lập UEPn, n là số điểm cuối.

2.7. Điều khiển điểm cuối USB
Mỗi của 16 điểm cuối hai chiều có thanh ghi điều khiển độc lập UEPn, n là số điểm cuối
USB RAM. Dữ liệu USB di chuyển giữa lõi vi điều khiển và SIE (Serial Interface
Engine) thông qua vùng nhớ gọi là RAM USB. Đây là nhớ cổng đôi đặc biệt, vùng nhớ
dữ liêu bình thường ở Bank 4 đến Bank 7 (400h tới 7FFh) dung lượng 1Kbyte. Bank 4
(400h đến 4FFh) được dùng đặc biệt cho điều khiển đệm điểm cuối, trong khi Bank 5 đến
Bank 7 dùng cho dữ liệu USB.
Ngắt USB: Khối USB có thể phát ra nhiều điều kiện ngắt. Trên hình 2.6 cho thấy logic
ngắt cho khối USB. Có hai lớp ngắt trong khối USB. Mức cao gồm các ngắt trạng thái
USB, nó đặt cho phép và đặt cờ trong thanh ghi cho phép ngắt UIE (USB Interrupt

Enable) và thanh ghi trạng thái ngắt USB UIR (USB Interrupt Status Register) tương
ứng. Mức thấp gồm các điều kiện lỗi USB, nó đặt cho phép và đặt cờ trong thanh ghi
trạng thái ngắt lỗi USB UEIR (USB Error Interrupt Status Register) và thanh ghi cho
phép ngắt lỗi USB UEIE (USB Error Interrupt Enable Register).

Hình 2.7: Các ngắt của khối USB
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 23


ĐỒ ÁN TỐT NGHIỆP

GVHD: TS. Nguyễn Văn Minh Trí

2.8. Khối biến đổi ADC 10 bit
Khối ADC 10 bit: Khối ADC của họ vi điều khiển này có khả năng kết hợp với việc thời
gian thu thập dữ liệu khả trình cho phép không cần chờ chu kỳ lấy mẫu nên giảm thời
gian biến đổi AD.
Khối biến đổi AD có 10 lối vào đối với PIC18 vỏ 28 chân và 13 lối vào đối với vỏ 40/44
chân. Khối này có 5 thanh ghi:
-

Thanh ghi kết quả A/D cao (ADRESH)

-

Thanh ghi kết quả A/D thấp (ADRESL)

-


Thanh ghi điều khiển A/D 0 (ADCON0)

-

Thanh ghi điều khiển A/D 1 (ADCON1)

-

Thanh ghi điều khiển A/D 2 (ADCON2)

Hình 2.8: Sơ đồ mạch điện thu thập dữ liệu cho biến đổi A/D
Chọn xung nhịp biến đổi A/D: Thời gian biến đổi A/D mỗi bit được định nghĩa là TAD .
Yêu cầu thời gian biến đổi A/D là 11* TAD cho biến đổi A/D 10 bit. Có 7 tùy chọn cho
TA:
-

2 TOSC

-

4 TOSC

SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 24


ĐỒ ÁN TỐT NGHIỆP
-


8 TOSC

-

16 TOSC

-

32 TOSC

-

64 TOSC

-

Dao động RC nội

GVHD: TS. Nguyễn Văn Minh Trí

Hình 2.9: Sơ đồ khối biến đổi A/D

Bảng 2.10: TAD theo tần số hoạt động của vi điều khiển
SVTH: Võ Quang Huy – Hồ Quang Hiếu- Lớp: 08D1

Trang 25



×