Sơ Đồ Khối Bộ Truyền Dữ Liệu Eusart Bất Đồng Bộ

2.4.3 Các thanh ghi ADC

INTCON (địa chỉ 0Bh,8Bh,10Bh,18Bh) : Cho phép các ngắt.

PIR1 (địa chỉ 0Ch) : Chứa cờ ngắt AD (bit ADIF).

PIR1 (địa chỉ 8Ch) : Chứa bit điều khiển AD (bit ADIE).

ADCON0 (địa chỉ 1Fh) : Thanh ghi điều khiển A/D 0.

ADCON1 (địa chỉ 9Fh) : Thanh ghi điều khiển A/D 1.

ADRESH (địa chỉ 1Eh): Thanh ghi kết quả mức cao ADC .

ADRESL (địa chỉ 9Eh): Thanh ghi kết quả mức thấp ADC .

PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h) : Liên quan đến các ngõ vào analog ở PORTA.

PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h) : Liên quan đến các ngõ vào analog ở PORTE.

Có thể bạn quan tâm!

Xem toàn bộ 104 trang tài liệu này.

Hình 2 8 Các thanh ghi liên quan đến bộ điều khiển A D 2 5 BỘ SO SÁNH COMPARATOR 1

Hình 2.8 Các thanh ghi liên quan đến bộ điều khiển A/D

2.5 BỘ SO SÁNH COMPARATOR

Bộ so sánh bao gồm hai bộ so sánh tín hiệu analog và được đặt ở PORTA. Ngõ vào bộ so sánh là các chân RA3:RA0, ngõ ra là hai chân RA4 và RA5. Thanh ghi điều khiển bộ so sánh là CMCON. Các bit CM2:CM0 trong thanh ghi CMCON đóng vai trò lựa chọn các chế độ hoạt động cho bộ Comparator.

Cơ chế hoạt động của bộ Comparator như sau: Tín hiệu analog ở chân V


Hình 2 9 Nguyên lý hoạt động của một bộ so sánh đơn giản Hình 2 10 Sơ đồ 2


Hình 2.9 Nguyên lý hoạt động của một bộ so sánh đơn giản



Hình 2 10 Sơ đồ khối đơn giản của bộ Comparator Các bit C2OUT và C1OUT CMCON 7 6 3


Hình 2.10 Sơ đồ khối đơn giản của bộ Comparator


Các bit C2OUT và C1OUT (CMCON<7:6>) đóng vai trò ghi nhạn sự thay đổi tín hiệu analog so với điện áp đặt trước. Các bit này cần được xử lý thích hợp bằng chương trình để ghi nhận sự thay đổi của tín hiệu ngõ vào. Cờ ngắt của bộ so sánh là bit CMIF (thanh ghi PIR1). Cờ ngắt này phải được reset về 0. Bit điều khiển bộ so sánh là bit CMIE (thanh ghi PIE).

Các thanh ghi liên quan đén bộ so sánh bao gồm:

− CMCON (địa chỉ 9Ch) và CVRCON (địa chỉ 9Dh) : xác lập các thông số cho bộ so sánh.

− Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh) : chứa các bit cho phép các ngắt.

− Thanh ghi PIR2 (địa chỉ 0Dh) : chứa cờ ngắt của bộ so sánh (CMIF).

− Thanh ghi PIE2 (địa chỉ 8Dh) : chứa cờ ngắt của bộ so sánh (CMIE).


Hình 2 11 Các thanh ghi liên quan đến bộ so sánh 2 6 TRUYỀN THÔNG NỐI TIẾP EUART 4

Hình 2.11 Các thanh ghi liên quan đến bộ so sánh


2.6 TRUYỀN THÔNG NỐI TIẾP EUART

EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter) là một bộ truyền thông nối tiếp. Nó có tất cả các bộ phát xung clock, đăng ký thay đổi và bộ đệm dữ liệu cần thiết để thực hiện một đầu vào hay đầu ra dữ liệu nối tiếp chuyển giao độc lập của thiết bị thực hiện chương trình. EUSART còn được gọi là giao diện giao tiếp nối tiếp SCI (Serial Communication Interface).

Bộ EUSART là một trong hai hình thức giao tiếp nối tiếp vào ra.EUSART có thể được cấu hình như là một hệ thống bất đồng bộ hoạt động song công mà có thể giao tiếp với các thiết bị bên ngoài như là các thiết bị đầu cuối CRT và các máy tính cá nhân nó cũng có thể được cấu hình như là một hệ thống đồng bộ hoạt động bán công mà có thể giao tiếp với các mạch tích hợp A/D hay D/A, các EEPROM nối tiếp….EUSART có thể được cấu hình để hoạt động một trong các chế độ sau:

Bất đồng bộ ( song công: Asynchronous ).

Đồng bộ chủ ( bán công: Master mode )

Đồng bộ tớ ( bán công: Slave mode )

2.6.1 Bộ EUSART hoạt động trong chế độ bất đồng bộ

Ở chế độ truyền này EUSART hoạt động theo chuẩn NRZ (None-Return-to- Zero), nghĩa là các bit truyền đi sẽ bao gồm 1 bit Start, 8 hay 9 bit dữ liệu (thông thường là 8 bit) và 1 bit Stop. Bit LSB sẽ được truyền đi trước. Các khối truyền và nhận data độc lập với nhau sẽ dùng chung tần số tương ứng với tốc độ baud cho quá trình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc độ dịch dữ liệu tùy theo giá trị của bit BRGH), và để đảm bảo tính hiệu quả của dữ liệu thì hai khối truyền và nhận phải dùng chung một định dạng dữ liệu.

Bộ EUSART bất đồng bộ bao gồm các thành phần quan trọng sau:

Bộ phát tốc độ baud ( BRG )

Mạch lấy mẫu

Bộ phát bất đồng bộ.

Bộ thu bất đồng bộ.

2.6.1.1 Bộ phát bất đồng bộ EUSART

Sơ đồ khối bộ phát EUSART bất đồng bộ được chỉ ra hình vẽ 2.12. Phần chính của nó là thanh ghi dịch nối tiếp phát (TSR). Nó nhận dữ liệu từ thanh ghi đệm phát TXREG. Thanh ghi TXREG được nạp dữ liệu bởi phần mềm.Thanh ghi TXR sẽ không được nạp dữ liệu cho đến khi stop bit đã được phát đi trong lần nạp trước đó. ngay khi stop bit được phát.TSR được nạp giá trị mới từ thanh ghi TXREG. Mỗi khi TXREG phát dữ liệu đến TSR.TXREG rỗng và cờ TXIF được bật.Ngắt này có thể được cho phép hoặc không cho phép bằng cách đặt hoặc xóa bit TXIE ( PIE<4>). Cờ TXIF sẽ được đặt bất chấp trạng thái của bit TXIE và không thể được xóa bởi phần mềm. Nó chỉ có thể được xóa khi dữ liệu mới được nạp vào thanh ghi TXREG. Trong khi bit TXIF chỉ ra trạng thái của thanh ghi TXREG thì bit TRMT lại chỉ ra trạng thái của thanh ghi TSR.Bit này chỉ có thể đọc, được đặt khi thanh ghi TSR rỗng.

Việc phát dữ liệu được phép bằng cách cho phép bit TXEN. Việc phát dữ liệu thực sư không xảy ra cho đến khi thanh ghi TXREG được nạp dữ liệu và bộ BRG tạo ra một clock dịch.Việc phát dữ liệu cũng có thể được bắt đầu bằng nạp thanh ghi TXREG và cho phép bit TXEN.

Để có thể phát 9 bit dữ liệu , bit TX9 được đặt và 9 bit dữ liệu được ghi đến bit TX9D.Bit thứ 9 phải được ghi trước khi ghi 8 bit dữ liệu đến TXREG.

Để thiết lập chế độ phát bất đồng bộ , các bước sau được thực hiện :

1) Thiết lập tốc độ Baud cho thanh ghi SPBRGH:SPBRG , nếu tốc độ baud được yêu cầu cao , đặt bit BRGH.

2) Set chân điều khiển RX/DT và TX/CK bằng “1”.

3) Cho phép port nối tiếp bất đồng bộ bằng cách xóa bit SYNC và bit SPEN.

4) Nếu cần phát 9 bit dữ liệu , đặt bit TX9.

5) Set bit điều khiển CKTXP nếu dữ liệu phát bị đảo ngược.

6) Cho phép phát dữ liệu bằng cách đặt bit điều khiển TXEN, có thể ngắt bit TXIF

7) Nếu ngắt được yêu cầu , cho phép bit TXIE. Trường hợp có sử dụng ngắt , phải bảo đảm rằng bit GIE và bit PEIE trong thanh ghi INTCON được đặt.

8) Nếu cần phát 9 bit dữ liệu , bit thứ 9 sẽ phụ thuộc vào bit dữ liệu TX9D

9) Nhận 8 bit dữ liệu từ thanh ghi TXREG. Có thể bắt đầu truyền dữ liệu.



Hình 2 12 Sơ đồ khối bộ truyền dữ liệu EUSART bất đồng bộ Hình 2 13 Các 5


Hình 2.12 Sơ đồ khối bộ truyền dữ liệu EUSART bất đồng bộ


Hình 2 13 Các thanh ghi liên quan đến quá trình truyền bất đồng bộ 2 6 1 2 Bộ 6

Hình 2.13 Các thanh ghi liên quan đến quá trình truyền bất đồng bộ


2.6.1.2 Bộ thu bất đồng bộ EUSART

Sơ đồ khối của bộ thu được chỉ ra ở hình vẽ 2.14. Dữ liệu nhận trên chân RC7/RX/DT và dồn vào khối khôi phục dữ liệu. Khối khôi phục dữ liệu thật ra là dịch dữ liệu tốc độ cao, hoạt động nhanh gấp 16 lần tốc độ Baud. Một khi chế độ bất đồng bộ được chọn thì việc tiếp nhận được phép bằng cách đặt Bit CREN (RCSTA<4>).

Trung tâm của bộ nhận là thanh ghi dịch nhận RSR. Sau khi lấy mẫu Bit Stop dữ liệu nhận trong RSR được truyền đến thanh ghi RCREG. Nếu việc truyền hoàn tất thì Bit Cờ RCIF lên 1. Ngắt thật sự cho phép hoặc không cho phép bằng cách đặt hoặc xóa Bit RCIE. Cờ RCIF chỉ là 1 Bit chỉ đọc và được xó bởi phần cứng. Nó được xóa khi thanh ghi RCREG được đọc và hoàn toàn không có dữ liệu. RCREG là 1 thanh ghi bộ đệm đôi (Bởi vì nó cho 2 Byte dữ liệu có thể truyền và nhận đồng thời đến RCREG

FIFO và Byte thứ 3 bắt đầu được dịch chuyển đến thanh ghi RSR). Khi phát hiện ra Bit Stop của Byte thừ 3 này, Nếu thanh ghi RCREG vẫn còn đầy thì Bit bào lỗi trànOERR(RCSTA<1>), sẽ lên 1. Những dữ liệu trong RSR sẽ mất đi. Và thanh ghi RCREG có thể được đọc 2 lần để lấy lại 2 Byte trong FIFO. Bit báo tràn OERR phải được xóa trong phần mềm.

Để thiết lập chế độ thu bất đồng bộ, các bước sau được yêu cầu :

1. Khởi tạo thanh ghi SPBRGH:SPBRG, BRGH và BRG16 bit cho việc chọn sai số tốc độ Baud.

2. Set chân điều khiển RX/DT và TX/CK bằng “1”.

3. Cho phép nhận qua Port nối tiếp bất đồng bộ bằng cách xóa Bit SYNC và cho Bit SPEN lên 1.

4. Nếu ngắt xảy ra thì set Bit RCIE và Nếu sử dụng ngắt thì set bit GIE và PEIE của thanh ghi INTCON.

5. Nếu nhận 9-Bit dữ liệu thì set Bit RX9 .

6. Set bit CKTXP nếu dữ liệu nhận bị đảo ngược.

7. Cho phép nhận dữ liệu bằng cách set Bit CREN.

8. Sau khi dữ liệu được nhận , Bit Cờ ngắt RCIF sẽ được set và cờ ngắt được kích hoạt (nếu bit RCIE được set).

9. Đọc nội dung thanh ghi RCSTA để nhận bit dữ liệu thứ 9 và xác định các lỗi xảy trong quá trình thu dữ liệu.

10. Nhận 8 bit dữ liệu thu được bằng cách đọc nội dung thanh ghi RCREG.

11. Nếu xuất hiện lỗi trong quá trình nhận thì xóa lỗi bằng cách xóa BitCREN



Hình 2 14 Sơ đồ khối bộ nhận dữ liệu EUSART bất đồng bộ Hình 2 15 Các thanh 7

Hình 2.14 Sơ đồ khối bộ nhận dữ liệu EUSART bất đồng bộ


Hình 2 15 Các thanh ghi liên quan đến quá trình nhận dữ liệu bất đồng bộ 2 6 1 8

Hình 2.15 Các thanh ghi liên quan đến quá trình nhận dữ liệu bất đồng bộ


2.6.1.3 Độ chính xác của xung clock với hoạt động không đồng bộ


Hình 2 16 Cấu tạo thanh ghi TXSTA Bit 7 CSRC bit chọn nguồn xung Chế độ bất đồng 9

Hình 2.16 Cấu tạo thanh ghi TXSTA

Bit 7 CSRC : bit chọn nguồn xung. Chế độ bất đồng bộ : không cần thiết Chế độ đồng bộ :

+ 1 = chế độ chủ (phát xung dao động nội từ BRG).

+ 0 = chế độ tớ ( xung dao dộng ngoại ).

Bit 6 TX9 : bit cho phép truyền 9 bit.

+ 1 = chọn chế độ truyền 9 bit.

+ 1 = chọn chế độ truyền 8 bit.

Bit 5 TXEN : bit cho phép truyền.

+ 1 = cho phép truyền.

+ 0 = không cho phép truyền. Bit 4 SYNC : bit chọn chế độ USART.

+ 1 = chế độ đồng bộ.

+ 0 = chế độ bất đồng bộ. Bit 3 SEND8 : gửi bit ký tự bị mất. Chế độ bất đồng bộ :

+ 1 = truyền ký tự bị mất

+ 0 = quá trình truyền ký tự bị mất kết thúc Chế độ đồng bộ : không cần thiết

+ 1 = tốc độ nhanh.

+ 0 = tốc độ chậm.

Bit 1 TRMT : bit trạng thái dịch truyền thanh ghi.

+ 1 = TSR rỗng.

+ 0 = TSR đầy.

Bit 0 TX9D : bit thứ 9 của truyền dữ liệu, có thể là bit Parity.


Hình 2 17 Cấu tạo thanh ghi RCSTA Bit 7 SPEN bit cho phép Serial Port 1 cho phép Serial Port 10

Hình 2.17 Cấu tạo thanh ghi RCSTA


Bit 7 SPEN : bit cho phép Serial Port.

+ 1 = cho phép Serial Port (tức là cấu hình cho RC7/RX/DT và RC6/TX/CK như chân Serial Port).

+ 0 = không cho phép.

Bit 6 RX9 : bit cho phép nhận 9 bit.

+ 1 = cho phép nhận 9 bit.

+ 0 = cho phếp nhận 8 bit.

Bit 5 SREN : bit cho phep nhận đơn độc. Chế độ bất đồng bộ không dùng.

Chế độ đồng bộ - Master:

+ 1 = cho phép nhận đơn độc.

+ 0 = không cho phép.

Chế độ đồng bộ - Slave : không cần.

Bit 4 CREN : bit cho phép nhận tiếp tục. Chế độ bất đồng bộ :

+ 1 = cho phép nhận tiếp tục.

Chế độ bất đồng bộ :

+ 1 = cho phép nhận tiếp tục.

+ 0 = không cho phép nhận tiếp tuc.

Chế độ đồng bộ :

+ 1 = cho phép nhận tiếp đến khi bit cho phép CREN bị xóa.

+ 0 = không cho phép nhận tiếp.

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 23/05/2023