国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SC16IS752、ADM2463在LPC2294擴展串口中的應用

2022-12-02 01:57
通信電源技術 2022年14期
關鍵詞:全雙工管腳串口

高 峰

(大連宗益科技發(fā)展有限公司,遼寧 大連 116023)

0 引 言

目前,通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)接口的使用越來越廣泛,許多設備上都提供了UART接口。工業(yè)使用的主流微處理器一般都只包含2個UART口,連接多個外設時會導致微處理器的UART口不夠,為了方便外設接入,擴展UART口是一種理想的解決方案。同時,考慮到微處理器的串行外設接口(Serial Peripheral Interface,SPI)/集成電路總線(Inter-Integrated Circuit,I2C)上可以連接多個總線器件,為了充分利用資源,在實際使用中可以通過SPI/I2C實施對UART接口的擴展。本文分析了芯片LPC2294使用SPI接口擴展出2路RS485/RS422接口,方便連接外設接口,滿足系統(tǒng)在不同應用場合的需求。

1 SC16IS752芯片

SC16IS752是具有I2C總線/SPI總線接口、雙通道高性能的UART擴展芯片,串口數據傳輸速率高達5 Mb/s,每路串口有64 B的讀寫先入先出隊列(First Input First Output,FIFO)和1個可編程的波特率發(fā)生器,具備省電模式和睡眠模式[1]。此外,還提供了8個額外可編程的I/O腳,并且支持傳輸速率高達1.115 2 Mb/s的IrDA紅外通信,可以實現自動硬件和軟件流控,自動的RS 485讀寫切換和軟件復位等功能。SC16IS752使用SPI總線方式連線如圖1所示。

2 ADM2463芯片

ADM2463收發(fā)器為5.7 kV 均方根(Root Mean Squre,RMS)信號隔離型RS485/RS422接口收發(fā)器,可配置為半雙工或全雙工模式,具有出色的抗噪聲能力[2]。RS485輸入/輸出引腳有±12 kV接觸放電和±15 kV空氣靜電釋放(Electro-Static Discharge,ESD)保護能力。ADM2463全雙工模式引腳定義如圖2所示。

芯片具有電纜反接智能功能,可以快速校正A、B、Y以及Z總線引腳上的電纜反向連接問題,在長距離電纜上實現500 kb/s低速運行,適用于電磁干擾(Electro Magnetic Interference,EMI)控制。該芯片支持192個總線節(jié)點,支持熱插拔(無毛刺上電和關斷)。

3 系統(tǒng)的硬件設計

微處理器LPC2294使用SPI總線與SC16IS752芯片連接,LPC2294設置為主模式,SC16IS752設置為從模式[3]。同步時鐘(Synchronous Clock,SCLK)線用于實現主器件和從器件在主輸出/從輸入(Master Output /Slave Input,MOSI)和主輸入/從輸出(Master Input/Slave Output,MISO)線上串行數據傳輸的同步,MOSI線用于主器件的輸出或從器件的輸入,MISO線用于主器件的輸入或從器件的輸出,片選控制線用于從設備的選擇。LPC2294的外部中斷引腳EINT2用于執(zhí)行SC16IS752接收數據產生的中斷,引腳接1 kΩ上拉電阻。SC16IS752的引腳通過1 kΩ電阻接地,設置芯片為SPI工作模式[4]。TXA、RXA、TXB以及RXB引腳連接ADM2463的Rx和Tx引腳,用于接收和發(fā)送數據。引腳與ADM2463的DE、引腳之間增加了選擇設置跳線,根據使用需求實現全雙工/半雙工模式切換。跳線設置在半雙工模式,引腳與ADM2463的DE、引腳連接,系統(tǒng)啟用硬件流控制功能,實現芯片自動控制ADM2463的數據收發(fā)方向。此功能節(jié)省了程序控制芯片引腳的開銷,完全由芯片自動控制。跳線設置在全雙工模式,ADM2463的DE引腳通過10 kΩ電阻接3.3 V,引腳通過10 kΩ電阻接GND。ADM2463的A與Y、B與Z引腳間也增加了選擇設置跳線,跳線設置在半雙工模式,A與Y引腳短接,B與Z引腳短接,實現RS485功能;跳線設置在全雙工模式,A與Y引腳斷開,B與Z引腳斷開,實現RS422功能。LP2294使用SPI總線擴展2路串口原理如圖3所示。

4 系統(tǒng)的軟件設計

軟件設計主要包括SC16IS752驅動代碼、SC16IS752初始化、LPC2294外部中斷初始化以及LPC2294外部中斷服務程序4部分[5]。

4.1 SC16IS752驅動函數

設計SC16IS752驅動函數,通過以下程序完成對SC16IS752寄存器的讀寫操作。

4.2 SC16IS752的初始化

初始化SC16IS752,完成對串口的配置。程序中對EFCR寄存器的設置尤為關鍵,EFCR位0用于使能RS485模式。在這種操作模式下,主機先發(fā)送地址字符,然后再發(fā)送用來尋址從機的數據字符。EFCR位4用來設置是否啟用發(fā)送器控制管腳的狀態(tài)。在該位置位上,發(fā)送器將控制管腳的狀態(tài),主機寫數據到發(fā)送FIFO,發(fā)送器將自動使管腳(邏輯0)有效。發(fā)送到數據的最后位時,發(fā)送器將使管腳(邏輯1)無效。自動使能RS485,節(jié)省了程序控制數據方向管腳的開銷。具體程序如下。

4.3 LPC2294外部中斷初始化

LPC2294的EINT2引腳接1 kΩ上拉電阻與SC16IS752 的引腳相連,LPC2294 外部中斷初始化函數設置芯片檢測到下降沿時觸發(fā)中斷。當開啟SC16IS752的中斷使能時,芯片的輸入管腳狀態(tài)變化、接收數據錯誤、有可用的接收緩沖數據、有可用的發(fā)送緩沖空間或檢測到modem狀態(tài)標志等都會產生中斷信號。本文設置RHR中斷使能,即SC16IS752接收到可用的數據時產生中斷信號,觸發(fā)LPC2294的外部中斷,程序如下。

4.4 LPC2294外部中斷服務程序

LPC2294收到中斷信號后進入中斷服務程序,由于本文擴展使用2個串口,因此在中斷服務程序中需要先判斷是哪個串口產生的中斷。當SC16IS752接收1包數據時,每接收1 Byte就會產生1次接收中斷,程序將緩沖區(qū)中接收的數據存入SCRxData1數組中。當接收完1包數據時,SC16IS752會產生接收數據超時中斷,同時將接收數據完成標志位(SCRxDataEND1)置位,后續(xù)程序判斷標志位的置位狀態(tài),完成數據處理。具體程序如下。

5 結 論

結合處理器的SPI接口功能,設計了一種擴展UART接口的方法。當微處器沒有SPI接口時,也可以使用普通I/O口來模擬SPI總線。通過此種擴展方式,每增加1片SC16IS752芯片,微處理器就可以擴展出2路串口,完全不用受限于微處理自身的接口資源。目前,市場上有各種功能的接口轉換模塊,例如串口轉CAN模塊、串口轉以太網模塊、串口轉無線模塊、串口轉電力線載波模塊以及串口轉PROFIBUS模塊等。UART通過連接轉換模塊,可以輕松地完成嵌入式設備接入各種接口總線,使得嵌入式系統(tǒng)設計更加簡潔方便,極大地提高了開發(fā)效率,大大縮短了產品的開發(fā)周期,使產品能夠更快地投入市場,提高產品的市場競爭力。

猜你喜歡
全雙工管腳串口
面向DSP+FPGA通用處理架構檢測的硬件系統(tǒng)設計
全雙工多中繼網絡的中斷分析與中繼決策
基于API函數庫實現串口數據通信的分析與設計
基于EM9000工控板高性能雙串口通信模型設計與實現
一種異步FIFO的Read/Write Data Flow Through功能測試方法?
淺析異構密集網絡中干擾管理技術
略談如何利用三極管管腳間電阻值判斷其型號及管腳
MCS—51單片機中的多串口通訊技術的應用
基于GRT平臺的全雙工WiFi設計與實現
基于ARM?Linux的無線音視頻對講系統(tǒng)
东宁县| 碌曲县| 金阳县| 山西省| 正定县| 沂水县| 二连浩特市| 赤壁市| 无棣县| 军事| 江口县| 靖西县| 石林| 瓦房店市| 喀什市| 西乌珠穆沁旗| 东兴市| 华宁县| 正宁县| 藁城市| 克拉玛依市| 抚松县| 延寿县| 康保县| 长葛市| 治县。| 温州市| 金塔县| 合川市| 洪湖市| 赤峰市| 布拖县| 池州市| 聂拉木县| 诸暨市| 武清区| 铜梁县| 元阳县| 德格县| 札达县| 花垣县|