2011年7月8日 星期五

DIY - PIC:PIC18F4550 USART 電路功能介紹 (九十五)

DIY - PICPIC18F4550 USART 電路功能介紹 (九十五)

Microchip PIC18F4550 內置一個增強型通用同步/異步收發器Universal Synchronous/Asynchronous Receiver/Transmitter USART 模組是兩個串列 I/O 模組之一。(USART 也被稱為串列通信接口或SCI 。)可以將 USART 配置為能與 CRT 終端和個人電腦等外設通信的全雙工異步系統,也可以將它配置成能夠與 A/D D/A 積體電路、串列 EEPROM 等外設通信的半雙工同步系統。

增強型 USART (EUSART) 模組實現了更多的功能,包括自動波特率檢測(Automatic Baud Rate Detection ABD )和校准,以及在接收到“同步間隔”字元和發送 12 位元間隔字元時自動喚醒器件。這些功能使 EUSART 模組成為局域互連網路(Local Interconnect Network LIN )總線系統非常理想的選擇。

18F4550 EUSAT (增強型通用同步/異步收發器)

EUSART 可配置為以下幾種工作模式:
• 帶有以下功能的全雙工異步模式:
     -接收到間隔字元自動喚醒
     -自動波特率校準
     -12 位元間隔字元發送
• 時鐘極性可選的半雙工同步主模式
• 時鐘極性可選的半雙工同步從模式

增強型USART 的引腳與PORTC 複用。為了將RC6/TX/CK 和RC7/RX/DT/SDO 配置為EUSART :
• SPEN (RCSTA<7>)位必須置1 (= 1 )
• TRISC<7>位必須置1 (= 1 )
• TRISC<6>位必須置1 (= 1 )。

增強型USART 模組的操作由以下3 個寄存器控制:
• 發送狀態和控制寄存器(TXSTA )
• 接收狀態和控制寄存器(RCSTA )
• 波特率控制寄存器(BAUDCON )
注:EUSART 控制在需要時會自動將引腳從輸入重新配置為輸出。

TXSTA :發送狀態和控制寄存器
RCSTA :接收狀態和控制寄存器
BAUDCON :波特率控制寄存器

18F4550 的波特率發生器(BRG )是一個專用的 8 位元或 16 位元發生器,支援 EUSART 的異步和同步模式。 默認情況下,BRG 工作在 8 位元模式下。 將 BRG16 位BAUDCON<3>)置 1 可選擇 16 位模式。

SPBRGH:SPBRG 寄存器對控制獨立運行計時器的周期。 在異步模式下,BRGH (TXSTA<2>)位和 BRG16(BAUDCON<3>)位也控制波特率。 在同步模式下,會忽略 BRGH 位。下表所示為不同 EUSART 模式的波特率計算公式,但僅適用於主模式(由內部產生時鐘信號)。

給定目標波特率和 FOSC 的情況下,可以使用下表中的公式計算 SPBRGH:SPBRG 寄存器的最近似整數值。從而確定波特率誤差。 例表給出了一個計算示例。 下表中給出了各種異步模式下典型的波特率和誤差值。

使用高波特率(BRGH = 1 )或16 位 BRG 有利於減少波特率誤差,或者在快速振盪頻率條件下實現低波特率。向 SPBRGH:SPBRG 寄存器寫入新值會導致 BRG 定時器復位(或清零)。 這可以確保 BRG 無需等待計時器溢出就可以輸出新的波特率。

波特率公式 (Baud Rate)
計算波特率誤差 (Baud Rate)
參考資料:Microchip PIC18F2455/2550/4455/4550 Data Sheet

相關網頁:
 DIY - 電子:EIA RS-232 串行通信協議標準 (九十二) :
DIY - 電子:MAX232 串行通信協議標準 IC (九十三) :
 DIY - 電子:C18 PIC18F4550 USART 函數庫程式 (九十四) :
DIY - 電子:PIC18F4550 USART 電路功能介紹 (九十五) :
 DIY - 電子:PIC18F4550 USART 自動波特率電路介紹 (九十六) :
DIY - 電子:PIC18F4550 USART 異步模式 (九十七) :
◆ DIY - 電子:PIC18F4550 + MAX232 USART 電路 (九十八) :
◆ DIY - 電子:PIC18F4550 + MAX232 USART 電路程式 (九十九) :
DIY - 電子:PIC18F4550 測試程式 Hyper Terminal (一百) :

相關網頁:
◎ RS-232 ﹣串列數據通訊的介面標準 (一)
◎ RS-232 ﹣超級終端機串列介面測試 (二)
◎ RS-232 ﹣超級終端機串列介面 Loopback 測試 (三)
◎ RS-232 ﹣用 Excel 做串列介面數據傳輸及接收 (四)
◎ RS-232 ﹣用 Excel API做串列介面數據傳輸及接收 (五)

相關網頁:
◎ DIY - 智能小車:TL-WR703N 無線路由器與 16F877A 控制版串口連接電路 (二十)
◎ DIY - 智能小車:ser2net 詳細介紹 (二十一)
◎ DIY - 智能小車:智能小車 ser2net 設定 (二十二)
◎ DIY - 智能小車:16F877A 控制版串口連接程式 (二十三)
◎ DIY - 智能小車:TL-WR703N 路由器和 RS232 串行板組裝 (二十九)
◎ DIY - 智能小車:PIC 16F877A 處理器板 RS232 接收程式碼 (三十三)

相關網頁:
◎ ESCORT 3146A 5 1/2位數字雙顯示桌上型電錶數據傳輸
◎ Hameg HM507 CombiScope (模數組合示波器) – RS232

沒有留言:

張貼留言