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

83 1.2K 6
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ìm hiểu về truyền thông nối tiếp trong vi điều khiển pic18f4520 thiết kế modul thí nghiệm. I. Tổng quan về vi điều khiển pic18f4520 Bộ vi điều khiể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ều khiể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êu khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian tiến hành đóng mở một cơ cấu nào đó . Trong các thiết bị điện điện tử các bộ vi điều khiển điều khiể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ều khiể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ều khiển ngày càng quan trọng. Hiện nay trên thị trường có rất nhiều họ vi điều khiể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ề pic18f4520 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 vi diều khiể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 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 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 1) • 8/16 bít timer • Các chuẩn giao tiếp ngoại vi nối tiế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ều khiển động cơ, đọc encoder • Hỗ trợ giao tiếp USB • Hỗ trợ điều khiể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ều khiể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ều khiể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ếp nối tiế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ều khiể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ều khiể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ều khiể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ền thông nố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ều khiển khác. Các thiết bị ngoại vi như là EFPROM, thanh ghi dịch, điều khiể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), 2 thanh ghi điều khiển (SSPCON1 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ền 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ối tiếp RC5/SDO. + Ngõ vào dữ liệu dạng nối tiếp RC4/SDI/SDA. + xung đồng bộ nối tiế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ều khiể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ều khiển trong 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> SSPSTAT<7:6> để cho phép các chế độ hoạt động 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) thanh ghi đệm (SSPBUF) , SSPSR dùng để dịch dữ liệu vào 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>) 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 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ều khiển khi hoạt động ở chế độ SPI : + Thanh ghi điều khiể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ều khiển được ) SSPCON1 SSPSTAT là thanh ghi điều khiển thanh ghi trạng thái trong chế độ SPI. Thanh ghi SSPCON1 có thể đọc ghi. 6 bít dưới của thanh ghi SSPSTAT chỉ có thể đọc, 2 bít trên có thể đọc 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ều khiển khối MSSP (trong chế độ SPI) [...]... start 2.2.5 Chế độ tớ Trong chế độ tớ các chân SCL 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 stop I2C của vi điều khiển sẽ được điều khiển bởi một vi điều khiể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ối tiếp 1= cho phép cổng nối tiếp thiết lập SDA SCL 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 thiết lập chúng như các chân vào ra Bít 4 CKP : SCK : bít điều khiển tác động Chế độ tớ : 1= cho xung... bắt đầu 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ền trong chế độ chủ, dữ liệu nối tiếp được xuất ra tại chân SDA trong khi SCL xuất ra xung clock đồng bộ nối tiếp Byte đầu tiên truyền đi sẽ chứa địa chỉ của thiết bị nhận (7 bít) 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ếp điều khiển các I2C tớ thông qua vi c chủ động tạo ra các xung giao tiếp 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ông nối tiếp 1= cho phép cổng nối tiếp thiết lập SCK, SDO, SDI, 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 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ền 1 bít ACK được nhận lại từ tớ khi tớ nhận được đủ 1 byte Điều kiện start stop được xuất ra chỉ ra quá trình bắt đầu kết thúc của 1 khung truyền nối tiế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 ) 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 stop Bít start stop được xóa khi reset hoặc khi khối MSSP không hoạt động Vi c điều khiể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 stop đều xóa Điều khiển chế độ chủ bằng phần mềm người sử dụng ghi mã điều khiển tất cả giao tiếp bên trong 2 bít start 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ều khiển Vi điều khiể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 ngưng dịch khi có tác động của cạnh còn... để điều khiển chế độ I2C Các thanh ghi đó là : + Thanh ghi điều khiển MSSP 1 (SSPCON1) + Thanh ghi điều khiển MSSP 2 (SSPCON2) + Thanh ghi trạng thái MSSP (SSPSTAT) + Thanh ghi đệm truyền nhận nối tiế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ều khiển SSPCON1 SSPCON2 có thể đọc ghi Thanh ghi SSPSTAT chỉ cho phép đọc và. .. nhận dữ liệu Dữ liệu nối tiế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 stop được xuất ra chỉ ra quá trình bắt đầu kết thúc của 1 khung truyền nối tiế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

Ngày đăng: 06/03/2014, 08:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan