當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]行接口設(shè)備憑借其控制靈活、接口簡單、占用系統(tǒng)資源少等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制、家庭安防、GPS衛(wèi)星定位導(dǎo)航以及水、電、氣表的抄表等領(lǐng)域。 在這些嵌入式系統(tǒng)中,可能會有很多從設(shè)備都通過串行接口與主機(jī)進(jìn)行通

行接口設(shè)備憑借其控制靈活、接口簡單、占用系統(tǒng)資源少等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制、家庭安防、GPS衛(wèi)星定位導(dǎo)航以及水、電、氣表的抄表等領(lǐng)域。 在這些嵌入式系統(tǒng)中,可能會有很多從設(shè)備都通過串行接口與主機(jī)進(jìn)行通信,如GPRS MODEM、紅外發(fā)送和接收模塊、RS485總線接口等。這使得開發(fā) 人員常常面臨嵌入式系統(tǒng)中主機(jī)串行通信接口不足的問題,針對此問題,本文介紹了幾種常見的解決方法。

軟件模擬法
軟件模 擬法可根據(jù)串行通訊的傳送格式,利用定時器和主機(jī)的I/O口來模擬串行通訊的時序,以達(dá)到擴(kuò)展串口的目的。接收過程中需要檢測起始位,這可以使用查詢方 式,或者,在端口具有中斷功能的主機(jī)中也可以使用端口的中斷進(jìn)行處理。接收和發(fā)送過程中,對定時的處理既可以使用查詢方式也可以使用定時器中斷方式。為了 確保數(shù)據(jù)的正確性,在接收過程中可以在檢測異步傳輸?shù)钠鹗夹盘柼幖由弦恍┓栏蓴_處理,如果是無線傳輸系統(tǒng),在接收每個位時可以采用多次采樣。對于有線系統(tǒng) 來說,1次采樣就夠了,你看IIC,SPI等,誰去進(jìn)行了多次采樣。

如今軟件模擬以其價格低廉,使用方便,已經(jīng)成為一種潮流.但是不是所有的單片機(jī)都適合用來進(jìn)行串口的軟件模擬的.軟件模擬的方法一般有兩種,一種是讀寫 I/O,另外一種是讀寫端口.很容易想到采用讀寫端口的方式模擬的方式,各串口的波特率必須保持一致.而且當(dāng)各路數(shù)據(jù)的輸入時間差只有那么幾十微秒時,很 容易造成數(shù)據(jù)丟失,雖然看上去這種方式也可以承受輸入數(shù)據(jù)端短路的高數(shù)據(jù)量壓力測試,但這種測試方法是剛好落在了該方案的最佳輸入點(diǎn)上.所以真正的使用中 是有幾率出錯的.而采用我們PDK80CXX系列在進(jìn)行8路以下(4路全雙工通訊)的串口模擬時,完全可以采用讀寫I/O口方式來完成,這樣,我們可以非 常輕松完成個子口的波特率不等的設(shè)置.而且可以達(dá)到非常高的速率,當(dāng)外接8MHz的晶體時,3路子口的最高速度可以達(dá)到38400以上.我想就是 38400的波特率一般的單片機(jī)也就足夠了.俗話說,"打鐵還需墩子硬",而我們PDK80CXX都是工業(yè)規(guī)格設(shè)計,超強(qiáng)的抗干擾性,超寬的高低溫工作范 圍.不知道各位看官目前有沒有用過可以在-40~+120攝氏度工作的單片機(jī).所以采用PDK80CXX模擬串口擴(kuò)展無疑是目前性價比最高的一種解決方 案.

  
利用并口轉(zhuǎn)串口擴(kuò)展串行口 
基于Intel8251的串行口擴(kuò)展
Intel8251是一種通用的同步/異步發(fā)送器(USART),它的工作方式可以通過編程設(shè)置,并具有獨(dú)立的接收/發(fā)送器。能以同步或異步串行通信方式工作,自動完成幀格式,具有奇、偶校驗和錯誤檢測電路。

基于TL16C554的串行口擴(kuò)展
TL16C554是TI公司生產(chǎn)的4通道異步收發(fā)器集成芯片。對TL16C554串行通道的控制,是通過對控制寄存器LCR、IER、DLL、DLM、 MCR和FCR編程來實現(xiàn)的。這些控制字決定字符長度、停止位的個數(shù)、奇偶校驗、波特率以及調(diào)制解調(diào)器接口??刂萍拇嫫骺梢匀我忭樞?qū)懭?,但是IER必須 最后一個寫入,因為它控制中斷使能。串行通道內(nèi)的波特率發(fā)生器(BRG)允許時鐘除以1至65535之間的任意數(shù),BRG根據(jù)其不同的三種通用頻率中的一 種來決定標(biāo)準(zhǔn)波特率。
16C55x系列芯片還包括16C550、16C552,分別可以擴(kuò)展1個和2個串行口。

利用串行口擴(kuò)展串行口
基于GM8123/25系列芯片的串行口擴(kuò)展
GM8123/25系列串口擴(kuò)展芯片可以全硬件實現(xiàn)串口擴(kuò)展,通訊格式可設(shè)置,并與標(biāo)準(zhǔn)串口通訊格式兼容。

GM8125可擴(kuò)展5個標(biāo)準(zhǔn)串口,通過外部引腳選擇串口擴(kuò)展模式:單通道工作模式和多通道工作模式。單通道模式下,無需設(shè)置芯片的通訊格式,子串口和母 串口以相同的波特率工作,同一時刻只允許一組子串口和母串口通訊,工作子串口由地址線選擇。單通道工作模式適用于所有從機(jī)不需要同時通訊,并且通訊過程完 全由主機(jī)控制的系統(tǒng)。多通道模式下,各子串口波特率相同,允許所有子串口同時與母串口通訊,母串口以子串口波特率的6倍工作。發(fā)送時由地址線選擇用來發(fā)送 數(shù)據(jù)的子串口;接收時子串口能主動響應(yīng)從機(jī)發(fā)送的數(shù)據(jù),再由母串口發(fā)送給主機(jī),同時由地址線返回接收到數(shù)據(jù)的子串口地址,主機(jī)在接收到子串口送來的數(shù)據(jù) 后,可以根據(jù)地址線的狀態(tài)判斷數(shù)據(jù)是由哪一個從機(jī)發(fā)送的。

多通道工作模式下,在進(jìn)行數(shù)據(jù)通訊前要對芯片進(jìn)行工作方式設(shè)置,包括串口幀格式設(shè)置和通訊波特率設(shè)置。

通過串行口和控制引腳相互配合可對芯片進(jìn)行工作方式設(shè)置,引腳MS為0、且STADD2~STADD0為000時寫命令字,引腳MS為1、 STADD2~STADD0為000時讀命令字。進(jìn)行工作方式設(shè)置時,芯片的幀格式和母串口工作波特率與上一次進(jìn)行數(shù)據(jù)通訊時一致;而復(fù)位后的幀格式為 11bit,母串口波特率為7200bps?! ?br/>
基于SP2338的串行口擴(kuò)展
SP2338是采用低功耗CMOS 工藝設(shè)計的通用異步串行口擴(kuò)展芯片,它可輕松將主機(jī)原有的1個串行口擴(kuò)展成3 個全新的全雙工串行口。

SP2338適用于1個起始位、8個數(shù)據(jù)位、1個停止位的多串口系統(tǒng),也就是說其幀格式是不可編程的。主機(jī)通過改變ADRI1、ADRI0地址線狀態(tài)的 方式選擇3個子串口中的任意一個,3個子串口的地址分別為00、01、10。地址11用于執(zhí)行SP2338 芯片本身的復(fù)位指令0x35 或0xB5、睡 眠指令0x55或0xD5、延時指令0x00。向RX0~RX3中的任意一個接收端口寫任意數(shù)據(jù)即可將SP2338喚醒,但由于SP2338的喚醒時間需 要25ms左右,故用于芯片喚醒的數(shù)據(jù)將不會被主機(jī)接收。因此,可以先發(fā)送一個字節(jié)數(shù)據(jù)用于喚醒芯片,延時25ms后即可進(jìn)行正常的數(shù)據(jù)傳輸。

未使用的輸入端口,如RX0、RX1、RX2等必須連接到VCC;未使用的輸出端口,如TX0、TX1、TX2等必須懸空;未使用的ADRI0、ADRI1必須連接到GND。

主機(jī)收發(fā)數(shù)據(jù)時序為:主機(jī)TX3接收到一個字節(jié)后應(yīng)立即讀取SP2338的輸出地址ADRO0、ADRO1的狀態(tài),判斷接收到的數(shù)據(jù)來自哪個子串口;主機(jī)發(fā)送數(shù)據(jù)時,首先通過ADRI0、ADRI1選擇某一個子串口,再向TX3寫將發(fā)送的數(shù)據(jù)。


還有分時復(fù)用的擴(kuò)展方法
在電路設(shè)計的過程中,本文設(shè)計出一種適合自己系統(tǒng)需要、將1個串口擴(kuò)展為3個串口的方案,如圖1所示。

其中,4001是四2輸入端或非門,40106是六施密特觸發(fā)器。4001的4腳和9腳分別為主機(jī)的RXD和TXD,40106的2腳和9腳為子串口的TXD0和RXD0,6腳和11腳為子串口的TXD1和RXD1,4腳和13腳為子串口的TXD2和RXD2。

根據(jù)圖的連接方式和邏輯代數(shù)的推導(dǎo)可得:RXD的狀態(tài)等于40106的9腳、11腳、13腳的狀態(tài)相與。當(dāng)40106的9腳、11腳、13腳中的任意一 個有數(shù)據(jù)信號時,由于在異步串行通訊中,無數(shù)據(jù)傳輸時的引腳狀態(tài)為高,因此RXD上就能接收到有數(shù)據(jù)信號的那個引腳上的數(shù)據(jù)狀態(tài)。40106的2腳、4 腳、6腳的狀態(tài)等于TXD的狀態(tài),所以可以利用40106的2腳、4腳、6腳做為子串口的TXD。

這種設(shè)計方案適用于主機(jī)同時向多個 串行設(shè)備發(fā)送數(shù)據(jù),而從設(shè)備不同時向主機(jī)發(fā)送數(shù)據(jù)的情況。再增加幾個信號線,就可以區(qū)分出向哪一個從設(shè)備發(fā)送數(shù)據(jù)以及接收到的數(shù)據(jù)是來自哪一個從設(shè)備。在 本文的系統(tǒng)中,主機(jī)是通信的發(fā)起者,接收到的數(shù)據(jù)來自哪個從設(shè)備是可以預(yù)知的,因此,只需再增加3個控制從設(shè)備使能的信號線即可。

幾種方法的比較
在需要擴(kuò)展系統(tǒng)的串行口時,使用多串行口單片機(jī)的方法是最容易想到的。由于串口集成在單片機(jī)內(nèi)部,因此設(shè)備體積較小,抗干擾能力較高,但多串口單片機(jī)通 常價格較高,而且,如果是開發(fā)人員所不熟悉的型號,還需要開發(fā)人員重新學(xué)習(xí)并購買與之配套的開發(fā)工具,這延長了產(chǎn)品的開發(fā)周期,也增加了產(chǎn)品的開發(fā)成本。

軟件模擬法占用的系統(tǒng)資源少、成本低、易于實現(xiàn)。已經(jīng)被越來越多的人所采用。特別是基于PDK80CXX系列模擬的串口應(yīng)用,以其適中的價格,超強(qiáng)的抗干擾性和超寬的工作溫度,肯定會被更多的工業(yè)數(shù)據(jù)采集者所采用。


并行口擴(kuò)展串口方法的功能比較強(qiáng)大,能提供MODEM控制信號、通訊速度高,但控制復(fù)雜,占用MCU的端口資源較多,同時價格也較高。

利用串行口擴(kuò)展串行口,控制簡單,能最大限度地減少控制線,不需要占用太多的主機(jī)系統(tǒng)資源,而且通用性強(qiáng),性能穩(wěn)定,可保證數(shù)據(jù)的正確性。GM812x 的不足之處在于:不滿足超低功耗應(yīng)用要求;多通道模式下,所有子串口工作波特率只能設(shè)置成統(tǒng)一值,不適用于各從機(jī)工作波特率不一致、又要求同時工作的系 統(tǒng)。SP2338雖然能滿足低功耗的要求,但其子串口波特率也需要設(shè)置為統(tǒng)一值,并且不能對數(shù)據(jù)幀格式編程,最高波特率也只有9600bps。

本文提出的方法中,各個子串口的串行特性和母串口相同,使用簡單,占用系統(tǒng)資源少,易于控制(最少2個控制信號擴(kuò)展3個串口),穩(wěn)定性好。其功耗取決于 4001和40106,它們的功耗都在mA級。其最高波特率取決于4001和40106的響應(yīng)速度,4001和40106的最大響應(yīng)延遲是250ns,所 以理論上最高波特率可達(dá)4Mbps。此方法已經(jīng)成功地應(yīng)用于三表遠(yuǎn)傳系統(tǒng)。該方法的缺點(diǎn)是,它不能用于從機(jī)工作波特率不一致、又要求同時工作的系統(tǒng)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉