NS16C2552/NS16C2752雙串口UART芯片深度剖析
在電子設計領域,UART(通用異步收發(fā)傳輸器)芯片是實現(xiàn)串行通信的關鍵組件。TI公司的NS16C2552和NS16C2752雙串口UART芯片,以其高性能和豐富的功能,在眾多應用場景中得到廣泛應用。本文將對這兩款芯片進行詳細解析,幫助電子工程師更好地理解和使用它們。
文件下載:ns16c2552.pdf
芯片概述
NS16C2552和NS16C2752是具有16字節(jié)/64字節(jié)FIFO的雙串口UART芯片,數(shù)據(jù)傳輸速率最高可達5 Mbit/s。它們與PC16552D在引腳和功能上兼容,同時增加了許多新特性,如低電壓支持、5V容忍輸入、增強型寄存器集和更高的數(shù)據(jù)速率等。芯片采用44 - PLCC或48 - TQFP封裝,工作電壓范圍為2.97 V至5.50 V,工業(yè)溫度范圍為 - 40°C至85°C。
特性亮點
- 多功能輸出:通過較少的I/O引腳實現(xiàn)更多的封裝功能,提高了芯片的集成度和靈活性。
- 雙獨立UART:兩個串行通道完全獨立,除了共享CPU接口和晶體輸入外,可獨立進行數(shù)據(jù)傳輸,適用于多通道通信需求。
- 高數(shù)據(jù)傳輸速率:最高可達5 Mbit/s的數(shù)據(jù)傳輸速率,滿足高速數(shù)據(jù)通信的要求。
- 低電壓支持:工作電壓范圍為2.97 V至5.50 V,降低了功耗,適用于電池供電的設備。
- 5V容忍I/O:在整個電源電壓范圍內,I/O引腳能夠容忍5V電壓,增強了芯片的兼容性。
引腳說明
芯片的引腳分為總線接口、串行I/O接口、時鐘和復位、電源和接地引腳等幾類。每個引腳的功能和作用都有明確的定義,以下是一些關鍵引腳的說明:
并行總線接口
- D7 - D0:數(shù)據(jù)總線,提供UART與CPU之間的雙向通信,用于傳輸數(shù)據(jù)、控制字和狀態(tài)信息。
- A2 - A0:寄存器地址,用于選擇DUART寄存器,供CPU進行讀寫操作。
- CS:芯片選擇,低電平有效,使能DUART與CPU之間的通信。
- CHSL:通道選擇,用于選擇要訪問的串行通道。
- RD:IO讀,在下降沿將寄存器數(shù)據(jù)放置在D7 - D0上,CPU可在上升沿讀取狀態(tài)信息或數(shù)據(jù)。
- WR:IO寫,在下降沿將數(shù)據(jù)放置在D7 - D0上,上升沿將數(shù)據(jù)鎖存到所選的DUART寄存器中。
串行I/O接口
- SIN:串行輸入,接收外部設備發(fā)送的串行數(shù)據(jù)。
- SOUT:串行輸出,向外部設備發(fā)送串行數(shù)據(jù)。
- RI:振鈴指示,用于檢測電話振鈴信號。
- MF:多功能引腳,可通過編程選擇OUT2、BAUDOUT或RXRDY等信號功能。
時鐘和復位
- XIN:外部晶體輸入,與XOUT配合形成反饋電路,為波特率發(fā)生器的振蕩器提供時鐘信號。
- XOUT:外部晶體輸出,與XIN配合形成反饋電路。
- MR:主復位,高電平有效,清除所有寄存器(除接收器緩沖區(qū)、發(fā)送器保持寄存器和除數(shù)鎖存器外)。
電源和接地
- VCC:電源輸入,工作電壓范圍為2.97 V至5.50 V。
- GND:接地引腳,提供參考地。
寄存器設置
芯片包含兩個相同的寄存器集,每個通道一個。寄存器的地址和控制引腳與寄存器選擇的關系在表1中進行了總結。以下是一些重要寄存器的功能說明:
接收緩沖區(qū)寄存器(RBR)
用于存儲接收到的數(shù)據(jù),可通過該寄存器訪問接收器FIFO中的數(shù)據(jù)。
發(fā)送保持寄存器(THR)
用于存儲要發(fā)送的數(shù)據(jù),是發(fā)送FIFO的輸入寄存器。
中斷使能寄存器(IER)
用于使能各種中斷源,每個中斷源可獨立控制,通過設置相應的位來啟用或禁用中斷。
中斷識別寄存器(IIR)
用于記錄中斷的優(yōu)先級和來源,CPU讀取該寄存器時,可獲取最高優(yōu)先級的待處理中斷信息。
FIFO控制寄存器(FCR)
用于啟用FIFOs、清除FIFOs、設置FIFO觸發(fā)級別和選擇DMA模式。
線路控制寄存器(LCR)
用于指定異步數(shù)據(jù)通信的格式,如數(shù)據(jù)位長度、停止位長度、奇偶校驗等,并設置除數(shù)鎖存器訪問位。
調制解調器控制寄存器(MCR)
用于控制與調制解調器或外設的接口,包括時鐘分頻選擇、紅外編碼器/解碼器選擇、Xon - Any功能啟用等。
線路狀態(tài)寄存器(LSR)
提供數(shù)據(jù)傳輸?shù)臓顟B(tài)信息,如接收緩沖區(qū)是否有數(shù)據(jù)、發(fā)送器是否空閑、是否發(fā)生錯誤等。
調制解調器狀態(tài)寄存器(MSR)
提供調制解調器控制線路的當前狀態(tài)信息,以及狀態(tài)變化信息。
可編程波特率發(fā)生器
每個通道都有一個獨立的可編程波特率發(fā)生器,可將輸入時鐘除以1至(2^16 - 1)的任意除數(shù),生成16X時鐘,驅動發(fā)送器和接收器部分。
操作與配置
時鐘輸入
芯片具有片上振蕩器,可接受標準晶體的并聯(lián)諧振和基頻信號。生成的時鐘提供給兩個UART通道,頻率范圍為DC至24 MHz。每個通道都有獨立的可編程時鐘分頻器,因此每個通道可以有不同的波特率。
復位
芯片具有片上上電復位功能,可適應緩慢上升的電源電壓。上電復位電路會將設備保持在復位狀態(tài)2^23個XIN時鐘周期。此外,還可以施加外部高電平復位信號。
接收器操作
每個串行通道包含一個8位接收移位寄存器(RSR)和一個16(或64)字節(jié)的接收FIFO。RSR使用16X時鐘作為定時源,在接收到起始位后,開始對數(shù)據(jù)進行采樣和驗證,將數(shù)據(jù)幀加載到RBR和接收FIFO中,并更新錯誤標簽。
發(fā)送器操作
發(fā)送器由一個8位發(fā)送移位寄存器(TSR)和一個16(或64)字節(jié)的發(fā)送FIFO組成。TSR以16X內部時鐘將數(shù)據(jù)移出,發(fā)送過程包括起始位、數(shù)據(jù)位、奇偶校驗位(如果啟用)和停止位。
硬件流控制
芯片支持RTS和CTS硬件流控制,可通過設置相應的寄存器位來啟用。RTS用于請求遠程設備暫?;蚧謴蛿?shù)據(jù)傳輸,CTS用于監(jiān)控遠程接收器FIFO是否溢出,以暫?;蚧謴捅镜匕l(fā)送器的工作。
軟件XON/XOFF流控制
軟件流控制使用編程的Xon或Xoff字符來實現(xiàn)發(fā)送/接收流控制。當接收到的字符與編程的值匹配時,發(fā)送器會暫停操作,直到接收到Xon字符后恢復傳輸。
特殊字符檢測
當EFR[5] = 1時,UART可以檢測8位特殊字符。檢測到特殊字符后,會將其加載到FIFO中,并設置相應的標志位。
睡眠模式
為了降低功耗,芯片具有每個通道獨立的睡眠模式。當滿足一定條件時,通道可以進入睡眠模式,在檢測到特定事件時喚醒。
內部回環(huán)模式
芯片支持內部回環(huán)模式,可用于設計驗證和診斷故障。在回環(huán)模式下,發(fā)送的數(shù)據(jù)會從發(fā)送移位寄存器輸出循環(huán)到接收移位寄存器輸入,系統(tǒng)可以接收自己發(fā)送的數(shù)據(jù)。
DMA操作
使用RXRDY和TXRDY信號可以實現(xiàn)更高效的直接內存訪問(DMA)傳輸。DMA傳輸在CPU周期之間進行,節(jié)省了CPU處理帶寬。在模式0下,每次RXRDY和TXRDY的斷言會導致單次傳輸;在模式1下,可以進行塊傳輸,進一步提高傳輸效率。
設計注意事項
調試提示
在使用芯片時,如果設備出現(xiàn)異常,可按照以下步驟進行調試:
- 檢查電源電壓是否在工作范圍內。
- 檢查設備引腳連接是否與數(shù)據(jù)手冊一致。
- 檢查未焊接元件的印刷電路板(PCB)是否存在短路。
- 檢查設備時鐘輸入,使用示波器檢查晶體振蕩頻率。
- 確保復位信號為高電平有效,且正常情況下為低電平。
- 使用內部回環(huán)模式測試CPU主機接口,檢查接口時序。
- 如果回環(huán)模式正常,檢查串行數(shù)據(jù)輸出和輸入,可通過外部循環(huán)測試數(shù)據(jù)路徑的完整性。
時鐘頻率精度
在UART傳輸中,發(fā)送器時鐘和接收器時鐘運行在不同的時鐘域,本地振蕩器頻率和時鐘分頻器可能會引入波特率誤差。UART接收器的內部采樣時鐘是數(shù)據(jù)速率的16倍,通過合理設置時鐘和分頻器,可以確保數(shù)據(jù)的正確采樣和傳輸。
晶體要求
使用的晶體應滿足以下要求:
- 采用AT切割,并聯(lián)諧振。
- 基頻振蕩模式,頻率范圍為1至24 MHz。
- 頻率容差和漂移應滿足UART應用要求。
- 負載電容應與振蕩器電路的負載電容匹配,外部電容C1和C2用于調整負載電容。
配置示例
設置波特率
LCR 0x03.7 = 1
DLL 0x00.7:0 = DIV_L
DLM 0x01.7:0 = DIV_M
LCR 0x03.7 = 0
配置預分頻器輸出
Save LCR 0x03.7:0 in temp
LCR 0x03.7:0 = 0xBF
EFR 0x02.4 = 1
LCR 0x03.7:0 = 0
MCR 0x04.7 = 1
LCR 0x03.7:0 = 0xBF
EFR 0x02.4 = 0 (optional)
LCR 0x03.7:0 = temp
設置Xon和Xoff流控制
Save LCR 0x03.7:0 in temp
LCR 0x03.7:0 = 0xBF
Xon1 0x04.7:0 = VAL1
Xoff1 0x06.7:0 = VAL2
LCR 0x03.7:0 = temp
配置Tx/Rx FIFO閾值
Save LCR 0x03.7:0 in temp
LCR 0x03.7:0 = 0xBF
EFR 0x02.4 = 1
LCR 0x03.7:0 = 0
FCR 0x02.7:0 = VAL
LCR 0x03.7:0 = 0xBF
EFR 0x02.4 = 0 (optional)
LCR 0x03.7:0 = temp
Tx和Rx硬件流控制
Save LCR 0x03.7:0 in temp
LCR 0x03.7:0 = 0xBF
EFR 0x02.7:6 = 2'b11
EFR 0x02.4 = 1
LCR 0x03.7:0 = 0
IER 0x01.7:6 = 2'b11
MCR 0x04.1 = 1
LCR 0x03.7:0 = temp
Tx和Rx DMA控制
Save LCR 0x03.7:0 in temp
LCR 0x03.7:0 = 0
FCR 0x02.0 = 1
FCR 0x02.3 = 1
LCR 0x03.7:0 = temp
與PC16552D的差異
| 與PC16552D相比,NS16C2552和NS16C2752在多個方面具有優(yōu)勢,如Tx和Rx FIFO大小、供電電壓范圍、最高波特率、最高時鐘輸入頻率、工作溫度范圍、增強型寄存器集、睡眠模式、軟件和硬件流控制、中斷源ID、Tx FIFO觸發(fā)級別選擇、IrDA v1.0模式和時鐘分頻器選擇等。具體差異如下表所示: | 特性 | PC16552D | NS16C2552 | NS16C2752 |
|---|---|---|---|---|
| Tx和Rx FIFO大小 | 16字節(jié) | 16字節(jié) | 64字節(jié) | |
| 供電電壓 | 4.5V至5.5V | 2.97V至5.5V | 2.97V至5.5V | |
| 最高波特率 | 1.5Mbps | 5.0Mbps | 5.0Mbps | |
| 最高時鐘輸入頻率 | 24MHz | 80MHz | 80MHz | |
| 工作溫度 | 0 - 70℃ | - 40至85℃ | - 40至85℃ | |
| 增強型寄存器集 | 否 | 是 | 是 | |
| 睡眠模式IER[4] | 否 | 是 | 是 | |
| Xon, Xoff, 和Xon - Any軟件自動流控制 | 否 | 是 | 是 | |
| CTS和RTS硬件自動流控制 | 否 | 是 | 是 | |
| 中斷源ID在IIR中 | 3位 | 5位 | 5位 | |
| Tx FIFO觸發(fā)級別選擇FCR[5:4] | 1級 | 1級 | 4級 | |
| IrDA v1.0模式MCR[6] | 否 | 是 | 是 | |
| 時鐘分頻器1或4選擇MCR[7] | 否 | 是 | 是 |
總結
NS16C2552和NS16C2752雙串口UART芯片以其高性能、豐富的功能和良好的兼容性,為電子工程師提供了一個優(yōu)秀的串行通信解決方案。通過深入了解芯片的特性、引腳功能、寄存器設置和操作配置,工程師可以充分發(fā)揮芯片的優(yōu)勢,設計出更加穩(wěn)定、高效的通信系統(tǒng)。在實際應用中,還需要注意調試技巧、時鐘頻率精度和晶體要求等方面的問題,以確保系統(tǒng)的可靠性和穩(wěn)定性。希望本文能夠對電子工程師在使用NS16C2552和NS16C2752芯片時有所幫助。
各位工程師朋友,在使用這兩款芯片的過程中,你們遇到過哪些有趣的問題或者有什么獨特的應用經(jīng)驗呢?歡迎在評論區(qū)分享交流!
發(fā)布評論請先 登錄
TL16C2552, pdf,datasheet
TL16C2752,pdf,datasheet
TL16C552--具有16字節(jié)FIFO和并行端口的雙路UA
TL16C452--具有并行端口但沒有FIFO的雙路UART
TL16C2552 具有 16 字節(jié) FIFO 的 1.8V 至 5V 雙路 UART
TL16C2752 具有 64 字節(jié) FIFO 的雙路 UART
NS16C2552 具有 16 字節(jié) FIFO 和高達 5 Mbit/s 數(shù)據(jù)速率的雙路 UART
NS16C2752 具有 64 字節(jié) FIFO 和高達 5 Mbit/s 數(shù)據(jù)速率的雙路 UART
NS16C2552/NS16C2752雙通道UART數(shù)據(jù)表
TL16C2752 1.8至5V雙通道UART數(shù)據(jù)表
NS16C2552/NS16C2752雙串口UART芯片深度剖析
評論