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

?

嵌入式串行通訊接口SMHK381 芯片工作原理研究

2021-07-18 07:12馮軍波
電子制作 2021年12期
關(guān)鍵詞:寄存器接收器字符

馮軍波

(中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西西安,710068)

0 引言

串行通訊接口(俗稱(chēng)COM 接口或串口),是采用串行通訊方式的擴(kuò)展接口。數(shù)據(jù)一位一位地順序傳送,最少只需一根傳輸線即可完成,成本低但傳送速度慢。其通信方式分為同步串行(Serial Peripheral interface)、異步串行(UART)。同步通信是指通信雙方由統(tǒng)一時(shí)標(biāo)控制數(shù)據(jù)傳送。異步通信要求統(tǒng)一操作時(shí)間,采用應(yīng)答方式,即主模塊發(fā)出請(qǐng)求,一直等待從模塊反饋回來(lái)的“響應(yīng)”后,才開(kāi)始通信。

常用的串行通訊接口包括以下幾種:

RS-232:不平衡傳輸方式,即單端通訊,為點(diǎn)對(duì)點(diǎn)通訊而設(shè)計(jì),適合本地設(shè)備間通訊,最大傳輸速率20kb/s。

RS-422:平橫傳輸方式,點(diǎn)對(duì)多雙向通訊,即一個(gè)主設(shè)備,多個(gè)從設(shè)備,從設(shè)備之間不能通訊。最多接10 個(gè)節(jié)點(diǎn),最大傳輸速率10Mb/s。

RS-485:在RS-422 的基礎(chǔ)上發(fā)展而來(lái),可多接32 個(gè)設(shè)備,最大傳輸速率10Mb/s。

1 芯片內(nèi)部結(jié)構(gòu)

國(guó)微電子的串行通訊接口芯片SMHK381 是雙通道,圖中用通道A、通道B 標(biāo)識(shí)。該芯片兼容EXAR 公司XR-88C681、Motorola 公 司MC2681 以 及Signetics 公 司SCC2692。其內(nèi)部結(jié)構(gòu)如圖1 所示。

圖1 SMHK381 芯片內(nèi)部結(jié)構(gòu)圖

通道A 和通道B 分別包含全雙工異步接收器和發(fā)送器,兩個(gè)通道可以獨(dú)立地選擇工作頻率和工作方式進(jìn)行數(shù)據(jù)的收發(fā)。

輸入/輸出端口可以作為通用的輸入/輸出端口,也可以作為特殊功能使用。如將輸入端口作為外部時(shí)鐘輸入,將輸出端口用來(lái)輸出發(fā)送器就緒信號(hào)。

數(shù)據(jù)總線緩沖器在(芯片)內(nèi)部與外部的數(shù)據(jù)總線之間提供數(shù)據(jù)緩沖,由操作控制單元控制,允許數(shù)據(jù)再CPU 與DUART 之間轉(zhuǎn)移。

操作控制模塊從CPU 收到操作命令,產(chǎn)生合適的信號(hào)到DUART 中的各個(gè)部分。具體而言,它負(fù)責(zé)進(jìn)行DUART內(nèi)部寄存器地址譯碼和命令譯碼。所有的命令,包括設(shè)置波特率、奇偶校驗(yàn)、通信協(xié)議參數(shù)、啟動(dòng)或停止Counter/Timer、或通過(guò)讀狀態(tài)寄存器監(jiān)視數(shù)據(jù)通信性能。

中斷控制塊允許用戶(hù)將DUART 應(yīng)用到中斷驅(qū)動(dòng)的環(huán)境中。DUART 提供了一個(gè)中斷請(qǐng)求輸出信號(hào)(-INTR),在發(fā)生下列任何事件的情況下可發(fā)出中斷請(qǐng)求信號(hào):

(1)通道的接收或發(fā)送保持寄存器就緒;

(2)通道的接收先進(jìn)先出隊(duì)列滿(mǎn);

(3)在通道A 或B 中收到Break 開(kāi)始或結(jié)束;

(4)Counter/Timer 計(jì)數(shù)完成;

(5)輸入引腳(IP0,IP1,IP2,IP3)發(fā)生變化。

2 數(shù)據(jù)接收

SMHK381 通道的接收器(由接收移位寄存器RSR 和接收保持寄存器RHR 組成)從RxDn 接收串行數(shù)據(jù),經(jīng)過(guò)RSR 轉(zhuǎn)換成并行的數(shù)據(jù)格式,送到RHR(RHR 實(shí)際上是一個(gè)深度為三個(gè)字節(jié)的FIFO )。然后,這個(gè)字符將通過(guò)FIFO進(jìn)行處理。一旦接收的字符被送到FIFO 的頂部,當(dāng)CPU讀RHR 時(shí)就可以讀取這個(gè)字符[1]。接收器示意如圖2 所示。

圖2 接收器RSR 和RHR 示意圖

SMHK381 芯片支持中斷方式接收數(shù)據(jù),接收中斷的觸發(fā)條件如下:

RXRDY(接收器準(zhǔn)備好):RHR 里至少有一個(gè)字符等待CPU 讀取。

FFULL :接收FIFO 已滿(mǎn)。

軟件可通過(guò)設(shè)置MR(通道模式寄存器)來(lái)選擇RXRDY滿(mǎn)足時(shí)發(fā)出中斷還是FFULL 條件滿(mǎn)足時(shí)發(fā)出中斷。

在設(shè)置了中斷掩碼寄存器IMR[1](A 通道)和IMR[5](B通道)位后,將會(huì)使能上述中斷,一旦滿(mǎn)足上述條件,串口將向CPU 發(fā)送中斷請(qǐng)求,軟件可通過(guò)中斷服務(wù)函數(shù)將數(shù)據(jù)從串口取走。

3 數(shù)據(jù)發(fā)送

CPU 把并行數(shù)據(jù)傳給SMHK381 通道的發(fā)送器(發(fā)送移位寄存器TSR 和發(fā)送保持寄存器THR),發(fā)送器將其轉(zhuǎn)換成串行數(shù)據(jù)流,并根據(jù)異步通信協(xié)議要求,加上用于通知接收器操作的起始位、停止位及可選的校驗(yàn)位(最高有效位和停止位之間,可通過(guò)模式寄存器配置),然后從TxDn 引腳輸出。發(fā)送器示意如圖3 所示。

圖3 發(fā)送器THR 和TSR 示意圖

發(fā)送器可以通過(guò)命令寄存器CR 來(lái)使能和禁止。當(dāng)在THR 和TSR 中還有字符時(shí)發(fā)出命令禁止發(fā)送器,發(fā)送器仍將繼續(xù)發(fā)送THR 和TSR 中剩余的字符,直到THR 和TSR完全空為止。一旦執(zhí)行了禁止發(fā)送器命令,就不能再向THR 中寫(xiě)入新的數(shù)據(jù)。

SMHK381 芯片同樣支持中斷方式發(fā)送數(shù)據(jù),工作機(jī)制是每發(fā)送完一個(gè)字節(jié)的數(shù)據(jù)后會(huì)觸發(fā)中斷條件,串口向CPU 產(chǎn)生一次中斷,中斷處理程序再發(fā)送下一個(gè)字節(jié),直到數(shù)據(jù)發(fā)送完成。這里有兩點(diǎn)需要注意:一個(gè)是在發(fā)送數(shù)據(jù)之前并沒(méi)有發(fā)送字節(jié)完成來(lái)觸發(fā)中斷,那么第一個(gè)字節(jié)是如何發(fā)出的;另一個(gè)是怎樣才算數(shù)據(jù)發(fā)送完成。第一個(gè)問(wèn)題涉及中斷在硬件層面的觸發(fā)方式:若為電平觸發(fā)的中斷,當(dāng)發(fā)送緩沖區(qū)為空時(shí),其所處的電平狀態(tài)就會(huì)在中斷被使能后直接觸發(fā),導(dǎo)致第一個(gè)字節(jié)在中斷服務(wù)函數(shù)中被發(fā)出;如果是電平跳變觸發(fā)的中斷,為了印發(fā)中斷,只好把第一個(gè)字節(jié)先手動(dòng)發(fā)出,由此引發(fā)一個(gè)中斷“多米諾”效應(yīng),把后面的字節(jié)依次發(fā)送出去[2]。第二個(gè)問(wèn)題的解決是用參數(shù)指定欲發(fā)送字節(jié)數(shù)決定的,待發(fā)送字節(jié)達(dá)到指定數(shù)目,在中斷處理函數(shù)禁止相應(yīng)中斷,于是多米諾效應(yīng)就會(huì)停止。

4 應(yīng)用場(chǎng)景

試驗(yàn)中將SMHK381 芯片應(yīng)用在PPC755 處理器上,實(shí)現(xiàn)了兩路RS232 接口,按8位數(shù)據(jù)寬度進(jìn)行訪問(wèn),接口的工作時(shí)鐘采用3.6864MHz,兩路接口采用三線制傳輸,最大速率115kbps。應(yīng)用場(chǎng)景連接框圖如圖4 所示。

圖4 SMHK381 芯片應(yīng)用場(chǎng)景連接框圖

在線路連接上PPC755 處理器通過(guò)107 橋片連接FPGA 芯片,F(xiàn)PGA 內(nèi)部設(shè)計(jì)PCILBE 橋邏輯,實(shí)現(xiàn)PPC750 對(duì)LBE 總線上的SMHK381 串口的訪問(wèn)與控制。SMHK381 芯片引出兩路RS232,一路用于連接PC 的超級(jí)終端,用于輸出打印信息,一路用于連接PC 機(jī)上的開(kāi)發(fā)環(huán)境,用于軟件開(kāi)發(fā)人員進(jìn)行程序的下載調(diào)試。使用超級(jí)終端輸出打印信息時(shí)設(shè)置每秒位數(shù)為115200,數(shù)據(jù)位為8,奇偶校驗(yàn)為無(wú),停止位為1,數(shù)據(jù)流控制選擇無(wú)。當(dāng)模塊供電后,超級(jí)終端上會(huì)顯示啟動(dòng)信息,表明第一路RS232 工作正常,待啟動(dòng)完畢后,可使用PC機(jī)上的軟件開(kāi)發(fā)環(huán)境通過(guò)第二路RS232 連接模塊并下載和調(diào)試應(yīng)用程序,表明第二路RS232 也工作正常。

5 結(jié)束語(yǔ)

現(xiàn)代科技離不開(kāi)芯片,我國(guó)在芯片技術(shù)領(lǐng)域起步晚且落后于歐美國(guó)家,研究芯片結(jié)構(gòu)和原理有助于改變這種現(xiàn)狀。發(fā)展科技的必由之路就是模仿、趕追并且超越,掌握扎實(shí)的基礎(chǔ)工藝,弄清復(fù)雜的工作原理,才能設(shè)計(jì)和制造屬于我們的國(guó)產(chǎn)芯片。

猜你喜歡
寄存器接收器字符
Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)
淺談一種新型的25Hz相敏軌道電路微電子接收器
正則表達(dá)式快速入門(mén)
圖片輕松變身ASCⅡ藝術(shù)畫(huà)
飛思卡爾單片機(jī)脈寬調(diào)制模塊用法研究
移位寄存器及算術(shù)運(yùn)算應(yīng)用
奇奇小笨探秘海洋世界(六)
數(shù)字電路環(huán)境下汽車(chē)控制電路信號(hào)設(shè)計(jì)
無(wú)線充電器
視頻監(jiān)視系統(tǒng)中字符疊加技術(shù)的應(yīng)用