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