Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
3,8 MB
Nội dung
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
BÁO CÁO THỰC TẬP
ĐỀ TÀI : Tìmhiểuvềtruyềnthôngnốitiếptrongviđiềukhiển
pic18f4520 vàthiếtkếmodulthí nghiệm.
I. Tổng quan vềviđiềukhiển pic18f4520
Bộ viđiềukhiển ghi tắt là Micro-controller là mạch tích hợp trên một chip có
thể lập trình được, dùng để điềukhiển hoạt động của hệ thống. Theo các tập lệnh
của người lập trình, bộ viđiêukhiển tiến hành đọc, lưu trữ thông tin, xử lý thông
tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó .
Trong các thiết bị điện và điện tử các bộ viđiềukhiểnđiềukhiển hoạt động của ti
vi, máy giặt, đầu đọc lase, lò vi ba, điện thoại …Trong hệ thống sản xuất tự động,
bộ viđiềukhiển sử dụng trong robot, các hệ thống đo lường giám sát .Các hệ thống
càng thông minh thì vai trò của viđiềukhiển ngày càng quan trọng. Hiện nay trên
thị trường có rất nhiều họ viđiềukhiển như: 6811 của Motorola, 8051 của Intel, Z8
của Zilog, PIC của Microchip Technology …
Trong đề tài này nghiên cứu vềpic18f4520vì nó có nhiều ưu điểm hơn các loại vi
điều khiển các như : ADC 10 BÍT, PWM 10 BÍT, EEPROM 256 BYTE,
COMPARATER, …ngoài ra nó còn được các trường đại học trên thế giới đặc biệt
là ở các nước Châu Âu hầu hết xem PIC là 1 môn học trong bộ môn vidiềukhiển
nói vậy các bạn cũng thấy sự phổ biến rộng rãi của nó. Ngoài ra PIC còn được rất
nhiều nhà sản xuat phần mềm tạo ra các ngôn ngữ hổ trợ cho việc lập trình ngoài
ngôn ngữ Asembly như :MPLAB, CCSC, HTPIC, MIRKROBASIC,…
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng
chúng ta có thể điểm qua một vài nét như sau :
• 8/16 bít CPU, xây dựng theo kiến trúc trên kiến trúc Harvard sửa đổi, với tập
lệnh rút gọn (do vậy PIC thuộc loại RISC).
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
• Flash và Rom có thể tuỳ chọn 256 byte đến 256 kbybe
• Các cổng xuất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 0 và
1)
• 8/16 bít timer
• Các chuẩn giao tiếp ngoại vinốitiếp đồng bộ/ không đồng bộ
• Bộ chuyển đổi ADC
• Bộ so sánh điện áp
• MSSP Pripheral dùng cho các giao tiếp I2C, SPI
• Bộ nhớ nội EEPROM - có thể ghi/ xoá lên tới hàng triệu lần
• Modulđiềukhiển động cơ, đọc encoder
• Hỗ trợ giao tiếp USB
• Hỗ trợ điềukhiển Ethernet
• Hỗ trợ giao tiếp CAN
• Hỗ trợ giao tiếp LIN
• Hỗ trợ giao tiếp IRDA
• DSP những tính năng xử lý tín hiệu số
1. Sơ đồ chân viđiềukhiển pic18f4520
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
2. Các thông số vềviđiềukhiển pic18f4520
• CPU tốc độ cao có 75 cấu trúc lệnh, nếu được cho phép có thể kéo dài đến
83 cấu trúc lệnh.
• Hầu hết các cấu trúc lệnh chỉ mất một chu kỳ máy, ngoại trừ lệnh rẽ nhánh
chương trình mất hai chu kỳ máy
• Tốc độ làm việc: xung clock đến 40MHz, tốc độ thực thi lệnh 125ns
• Bộ nhớ chương trình ( flash program memory) là 32kbyte
• Bộ nhớ dữ liệu SRAM là 1536 byte
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
• Bộ nhớ dữ liệu EEPROM là 256 byte
• 5 port Vào hoặc ra
• 4 bộ timer
• 1 capture/compare/PWM modules
• 1 enhanced capture/ compare/PWM modules
• Giao tiếpnốitiếp : MSSP, enhanced USART.
• Cổng giao tiếp song song.
• 13 bộ Analog to Digital module 10 bít
• POR,BOR
Bên cạnh đó là một vài đặc tính khác của viđiềukhiển như:
+ Bộ nhớ Flash có khả năng ghi xoá được 100.000 lần.
+ Bộ nhớ EEPROM với khả năng ghi xoá được 1.000.000 lần.
+ Flash/Dữ liệu bộ nhớ EEPROM có thể lưu trữ hàng 100 năm.
+ Khả năng tự nạp chương trình với sự điềukhiển của phần mềm.
+ Watchdog timer với bộ dao động trong.
+ Chức năng bảo mật mã chương trình .
+ Chế độ SLEEP.
+ Có thể hoạt động với nhiều dạng Oscillator khác nhau.
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
3. Sơ đồ khối của viđiềukhiển pic18f4520
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
4. Sơ đồ khối bộ nhớ dữ liệu pic18f4520
II. Truyềnthôngnối tiếp
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
1. giới thiệu
CHủ SYNCHRONOUS SERIAL PORT (MSSP) MODULE
- SPI
- I2C
ENHANCED UNIVERSAL SYNCHRONOUS RECEIVER RANSMITTER
(EUSART)
2. Tổng quan về khối MSSP
MSSP là khối giao diện đồng bộ nối tiếp, được sử dụng để giao tiếp với các
thiết bị ngoại vi khác hoặc các viđiềukhiển khác. Các thiết bị ngoại vi như là
EFPROM, thanh ghi dịch, điềukhiển hiện thị, các khối chuyển đổi A/D, . . .
Các chế độ hoạt động của MSSP :
+ Chế độ SPI
+ Chế độ I
2
C
Trong chế độ I
2
C phần cứng đã hỗ trợ các chế độ sau :
+ Chế độ chủ.
+ Chế độ đa chủ.
+ Chế độ tớ.
Thanh ghi điều khiển
Khối MSSP có 3 thanh ghi liên quan đến đó là : thanh ghi trạng thái
(SSPSTAT), và 2 thanh ghi điềukhiển (SSPCON1 và SSPCON2 ). Thiết lập các
thanh ghi để xác định chế độ làm việc của khối MSSP là SPI hoặc I
2
C.
2.1 SPI
2.1.1 Giới thiệu về giao tiếp SPI
Chế độ SPI cho phép 8 bít dữ liệu được truyềnvà nhận đồng thời. Tất cả 4
chế độ của khối SPI đều được hỗ trợ. Có 3 chân điển hình cho chuẩn giao tiếp này :
+ Ngõ ra dữ liệu dạng nốitiếp RC5/SDO.
+ Ngõ vào dữ liệu dạng nốitiếp RC4/SDI/SDA.
+ xung đồng bộ nốitiếp RC3/SCK/SCL.
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
Trong chế độ tớ chân thứ 4 có thể được sử dụng để điềukhiển đó là : Chân chọn
đối tượng giao tiếp : RA5/AN4/
SS
/HLVDIN/C2OUT.
Hình 1:
Biểu diễn sơ đồ khối của khối MSSP khi điềukhiểntrong khối SPI
2.1.2 Khởi tạo chế độ SPI
Khi khởi tạo chế độ SPI ta cần thiết đặt cho các bít SSPCON<5:0> và
SSPSTAT<7:6> để cho phép các chế độ hoạt động và các đặc tính trong chế độ
SPI, đó là :
+ Chế độ chủ
+ Chế độ tớ
+ Cực tính xung clock
+ Pha lấy mẫu dữ liệu vào
+ Sườn xung clock
+ Xung nhip ( chỉ có trong chế độ chủ )
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
+ Lựa chọn chế độ tớ (chỉ có trong chế độ tớ )
MSSP bao gồm thanh ghi dịch truyền nhận (SSPSR) và thanh ghi đệm
(SSPBUF) , SSPSR dùng để dịch dữ liệu vào và ra, đầu tiên là bít msb. Khi quá
trình nhận dữ liệu sẵn sàng, dữ liệu sẽ được ghi vào SSPSR sau đó dữ liệu sẽ được
giữ ở SSPBUF. Khi phát hiền bộ đệm đầy cờ BF (SSPSTAT<0>) và bít cho phép
ngắt được đặt lên. Bộ đệm dữ liệu 2 lớp cho phép nhận tiếp 1 byte dữ liệu trước khi
đọc. bất kỳ sự ghi nào tới thanh ghi SSPBUF trong thời gian truyền nhận dữ liệu sẽ
bị lờ đi và bít phát hiện xung đột WCOL (SSPCON1<7>) sẽ được đặt lên. Bít
WCOL phải được xóa bằng phần mềm để xác định việc ghi tiếp theo lên thanh ghi
SSPBUF. SSPSR không thể đọc hoặc ghi trực tiếp mà chỉ có thể truy cập thông
qua thanh ghi SSPBUF.
2.1.3 Thanh ghi
Khối MSSP có 4 thanh ghi điềukhiển khi hoạt động ở chế độ SPI :
+ Thanh ghi điềukhiển 1 ( SSPCON1)
+ Thanh ghi trạng thái ( SSPSTAT )
+ Thanh ghi đệm truyền hoặc nhận (SSPBUF)
+ Thanh ghi dịch dữ liệu ( SSPSR) ( không trực tiếpđiềukhiển được )
SSPCON1 và SSPSTAT là thanh ghi điềukhiểnvà thanh ghi trạng thái trong chế
độ SPI. Thanh ghi SSPCON1 có thể đọc và ghi. 6 bít dưới của thanh ghi SSPSTAT
chỉ có thể đọc, 2 bít trên có thể đọc và ghi.
Hình 2 SSPSTAT : Thanh ghi trạng thái (chế độ SPI )
Bít 7 SMP : bít lấy mẫu
SPI chế độ chủ :
1= lấy mẫu dữ liệu vào thời điểm cuối của dữ liệu ra.
Trường Đại Học Công Nghiệp Hà Nội Khoa điện tử
0= lấy mẫu dữ liệu vào thời điểm giữa của dữ liệu ra.
SPI chế độ tớ :
SMP phải được xóa khi SPI được sử dụng ở chế độ tớ.
Bít 6 CKE : bít chọn xung clock
1= Truyền khi xuất hiện sự chuyển tiếp từ tích cực đến trạng thái nghỉ.
0= Truyền khi xuất hiện sự chuyển tiếp từ trạng thái nghỉ lên tích cực.
Bít 5 D/
A
: Dữ liệu hoặc địa chỉ
Chỉ sử dụng trong chế độ I
2
C .
Bít 4 P : bít stop
Chỉ sử dụng trong chế độ I
2
C.
Bít 3 S : bít bắt đầu
Chỉ sử dụng trong chế độ I
2
C.
Bít 2 R/
W
: đọc hoặc ghi thông tin
Chỉ sử dụng trong chế độ I
2
C.
Bít 1 UA : bít cập nhật địa chỉ
Chỉ sử dụng trong chế độ I
2
C.
Bít 0 BF : bít trạng thái báo đầy bộ đệm ( duy nhất ở chế độ truyền )
1= Truyền hoàn tất ( SSPBUF đầy )
0= Truyền không hoàn tất ( SSPBUF rỗng)
Hình 3 SSPCON1 : Thanh ghi điềukhiển khối MSSP (trong chế độ SPI)
[...]... start 2.2.5 Chế độ tớ Trong chế độ tớ các chân SCL và SDA phải được thiết lập là đầu vào Khối MSSP sẽ ép trạng thái đầu vào thành trạng thái dữ liệu ra khi cần thiết (thiết bị tớ truyền ) Chế độ tớ luôn tồn tại 1 ngắt trên 1 địa chỉ phù hợp Lựa chọn các bít có thể chọn ngắt bít start và stop I2C của vi điềukhiển sẽ được điềukhiển bởi một vi điềukhiển hoặc một thiết bị ngoại vi khác thông qua các địa... nhận : 1= 1 byte dữ liệu mới được nhận trong khi dữ liệu cũ vẫn còn trong thanh ghi SSPBUF 0= không có tràn Chế độ truyền : Không sử dụng đến bít này Bít 5 SSPEN : bít cho phép cổng nốitiếp 1= cho phép cổng nốitiếpvàthiết lập SDA và SCL là các chân của cổng nốitiếp 0= không cho phép cổng nốitiếpvàthiết lập chúng như các chân vào ra Bít 4 CKP : SCK : bít điềukhiển tác động Chế độ tớ : 1= cho xung... bắt đầu và kết thúc với cùng một điều kiện khởi động lặp lai (repeated start ) Quá trình truyềntrong chế độ chủ, dữ liệu nốitiếp được xuất ra tại chân SDA trong khi SCL xuất ra xung clock đồng bộ nốitiếp Byte đầu tiên truyền đi sẽ chứa địa chỉ của thiết bị nhận (7 bít) và 1 bít R/ W Trong trường hợp này R/ W sẽ có mức logic là 0, dữ liệu 8 bít thìtruyền 8 bít trong 1 lần, sau đó mỗi byte tiếp theo... chuyển đổi truyền/ nhận + Truyền xung ACK +Lặp lại bít start Hình 11 Sơ đồ khối MSSP (I2C chế độ chủ ) 2.2.4.1 Hoạt động của chế độ chủ: I2C chủ đóng vai trò tích cực trong quá trình giao tiếpvàđiềukhiển các I2C tớ thông qua vi c chủ động tạo ra các xung giao tiếpvà các điều kiện start, stop khi truyền nhận dữ liệu Một byte dữ liệu có thể được bắt đầu bằng điều kiện start, kết thúc bằng điều kiện... cờ tràn được đặt lên.( cờ tràn phải xóa bằng phần mềm) 0= không có sự tràn xẩy ra Bít 5 SSPEN : bít cho phép truyền thôngnốitiếp 1= cho phép cổng nốitiếpvàthiết lập SCK, SDO, SDI, và SS như là các chân của cổng nốitiếp 0= không cho phép cổng nốitiếpvàthiết lập các chân như là chân vào hoặc ra Bít 4 CKP : bít chọn cực tính xung clock 1= trạng thái nghỉ khi xung ở mức cao 0= trạng thái nghỉ... Khoa điện tử truyềnvà 1 bít ACK được nhận lại từ tớ khi tớ nhận được đủ 1 byte Điều kiện start và stop được xuất ra chỉ ra quá trình bắt đầu và kết thúc của 1 khung truyền nốitiếp Quá nhận dữ liệu trong chế độ chủ, byte đầu tiên được truyền chứa địa chỉ của thiết bị tớ (7 bít ) và 1 bít R/ W Trong trường hợp này bít R/ W sẽ có giá trị la 1 Vời giá trị của bít R/ W là 1 thìthiết bị tớ hiểu rằng nó... bít start và stop Bít start và stop được xóa khi reset hoặc khi khối MSSP không hoạt động Vi c điềukhiển giao tiếp I2C có thể tiếp tục khi bít stop được đặt hoặc khi bus rỗng với cả hai bít start và stop đều xóa Điềukhiển chế độ chủ bằng phần mềm người sử dụng ghi mã điềukhiển tất cả giao tiếp bên trong 2 bít start và stop 1 chế độ chủ được cho phép, người sử dụng phải có 6 thao tác: + Có điều kiện... đặt bít thứ 5 trong thanh ghi TRISC Sơ đồ kết nối điển hình : Hinh 4 sơ đồ kết nối SPI chủ hoặc tớ Hình 4 biểu diễn sơ đồ kết nối giữa 2 vi điềukhiểnViđiềukhiển chủ (processor 1) khởi tạo quá trình truyền dữ liệu bằng vi c gửi tín hiệu xung đồng bộ SCK Dữ liệu sẽ được dịch từ cả hai thanh ghi SSPSR đưa ra ngoài nếu có một cạnh của xung đồng bộ tác động và ngưng dịch khi có tác động của cạnh còn... để điềukhiển chế độ I2C Các thanh ghi đó là : + Thanh ghi điềukhiển MSSP 1 (SSPCON1) + Thanh ghi điềukhiển MSSP 2 (SSPCON2) + Thanh ghi trạng thái MSSP (SSPSTAT) + Thanh ghi đệm truyền nhận nốitiếp (SSPBUF) + Thanh ghi dịch MSSP (SSPSR) (không trưc tiếp truy cập) + Thanh ghi địa chỉ MSSP (SSPADD) Các thanh ghi điềukhiển SSPCON1 và SSPCON2 có thể đọc và ghi Thanh ghi SSPSTAT chỉ cho phép đọc và. .. nhận dữ liệu Dữ liệu nốitiếp được nhận tại chân SDA, trong khi đầu ra xung clock tại chân SCL 8 bít dữ liệu được nhận trong 1 lần, sau mỗi byte được nhận thì 1 bít ACK được truyền, điều kiện start và stop được xuất ra chỉ ra quá trình bắt đầu và kết thúc của 1 khung truyềnnốitiếp Tốc độ người sử dụng trong chế độ I2C để tần số của xung clock là 100 KHZ, 400KHZ hoặc 1MHZ 1 quá trình truyền điển hình . : Tìm hiểu về truyền thông nối tiếp trong vi điều khiển
pic18f4520 và thiết kế modul thí nghiệm.
I. Tổng quan về vi điều khiển pic18f4520
Bộ vi điều khiển. thông nối tiếp
1= cho phép cổng nối tiếp và thiết lập SCK, SDO, SDI, và
SS
như là các
chân của cổng nối tiếp.
0= không cho phép cổng nối tiếp và thiết