亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WK2168 實(shí)現(xiàn)多接口四通道異步串口擴(kuò)展器設(shè)計(jì)

        2023-11-19 09:20:34龍順宇王連明趙廣宇胥勛偉
        電子制作 2023年21期
        關(guān)鍵詞:寄存器電平時(shí)序

        龍順宇,王連明,趙廣宇,胥勛偉

        (1.海南熱帶海洋學(xué)院 海洋信息工程學(xué)院,海南三亞,572022;2.成都為開微電子有限公司,四川成都,610093)

        0 引言

        針對(duì)串口擴(kuò)展的實(shí)際需求,各集成電路廠商推出了多種專用芯片[1],市面上常見的串口擴(kuò)展芯片就有CH438Q、GM812x 系列、ST16C554D、SP2538 等[2~4]。此類芯片通常只支持一種主接口類型[5],各自的功能差異較大[6],有的不能支持寬電壓供電[7],有的不支持子串口參數(shù)的差異化配置[8~9],有的不具備RS485 自動(dòng)收發(fā)控制[10],有的不支持自動(dòng)流量控制,還有的讀寫過程僅支持小數(shù)據(jù)量的寄存器方式,不支持連續(xù)數(shù)據(jù)量的FIFO 方式[11~12],故而設(shè)計(jì)人員在芯片選型時(shí)會(huì)產(chǎn)生困擾。本文選用WK2168 芯片設(shè)計(jì)的串口擴(kuò)展器就可以對(duì)接這些需求,支持多種主接口類型,可按需應(yīng)用于不同的設(shè)計(jì)場(chǎng)景之中。

        1 擴(kuò)展器組成框架

        因?yàn)閃K2168 芯片支持4 種模式的主接口[13],故而在對(duì)接實(shí)際主控制器時(shí)應(yīng)事先確定接口類型,用戶可通過擴(kuò)展器的MD0 和MD1 引腳進(jìn)行模式選擇[14],改變這兩個(gè)引腳上的電平組合即可調(diào)整接口引腳的復(fù)用功能,最終改變芯片內(nèi)部主接口的轉(zhuǎn)換邏輯,本文設(shè)計(jì)的串口擴(kuò)展器組成框架如圖1 所示。

        圖1 WK2168 串口擴(kuò)展器組成框架圖

        圖中虛線框內(nèi)部分即為WK2168芯片的內(nèi)部組成單元,主接口轉(zhuǎn)換邏輯單元負(fù)責(zé)解析來自外部設(shè)備主控制器下達(dá)的命令,在內(nèi)部總線的連接下將數(shù)據(jù)、地址及控制信號(hào)傳送至各單元,每個(gè)子通道串口都具備一套獨(dú)立的寄存器,包含了收發(fā)FIFO 暫存器、收發(fā)流量控制寄存器、波特率發(fā)生器和收發(fā)移位寄存器,這些寄存器和端口電路的工作狀態(tài)及配置都受控于子通道控制寄存器。若子串口內(nèi)部產(chǎn)生特定事件,將觸發(fā)中斷請(qǐng)求(實(shí)際表現(xiàn)為IRQ 引腳上的電平變化),外部設(shè)備主控制器可響應(yīng)中斷執(zhí)行特定動(dòng)作。擴(kuò)展得到的TX1 至TX4 為串行數(shù)據(jù)發(fā)送引腳,RX1 至RX4 為串行數(shù)據(jù)接收引腳,RTS1 至RTS4 為請(qǐng)求發(fā)送信號(hào)引腳,CTS1 至CTS4 為清除發(fā)送信號(hào)引腳。

        2 擴(kuò)展器硬件設(shè)計(jì)

        串口擴(kuò)展器的電路原理如圖2 所示,U1 即為WK2168芯片,芯片32 腳MD0 和33 腳MD1 的4 種電平組合決定了MP0至MP3引腳的具體功能。若MD0、MD1取值為“00”,則MP0 至MP3 用作SPI 接口;取值為“01”則用作I2C 接口,取值為“10”則用作8 位并口總線接口,取值為“11”則用作UART 接口。根據(jù)芯片數(shù)據(jù)手冊(cè)可知,MD0 和MD1引腳內(nèi)建了上拉電路,懸空時(shí)默認(rèn)為“11”狀態(tài),MP0 至MP3 引腳則需要外加上拉電阻。

        圖2 WK2168 核心電路原理圖

        DAT0 至DAT7 為并口數(shù)據(jù)總線引腳,若主接口不用做并口時(shí)可將其當(dāng)作GPIO 使用。D1 和R10 構(gòu)成了供電指示電路,系統(tǒng)供電支持2.5V~5.0V 寬電壓范圍,C2 和C3 為電源進(jìn)行濾波和去耦(在PCB 布局時(shí)應(yīng)盡量靠近電源類引腳),R11 為中斷引腳IRQ 的外部上拉電阻(以確保IRQ引腳在未產(chǎn)生中斷信號(hào)時(shí)保持為高電平狀態(tài))。

        R12和C5為WK2168提供上電復(fù)位信號(hào)(低電平有效)。R5、Y1、C1 和C4 構(gòu)成了外部石英晶體振蕩電路(在PCB布局時(shí)應(yīng)盡量靠近時(shí)鐘引腳,若有地網(wǎng)絡(luò)的覆銅層還應(yīng)增加過孔減少寄生參數(shù)影響)。

        WK2168 芯片擴(kuò)展的4 路子串口均遵循正邏輯TTL/COMS 電平標(biāo)準(zhǔn),若需要將其對(duì)接DB9 接口的外部設(shè)備則需要添加額外的電平轉(zhuǎn)換單元,將TTL/COMS 電平標(biāo)準(zhǔn)適配到RS232 標(biāo)準(zhǔn)(可基于MAX3232 芯片搭建相關(guān)電路單元)。

        除此之外,實(shí)際場(chǎng)景中還有很多傳感器設(shè)備、執(zhí)行器設(shè)備是RS485 接口,對(duì)接此類接口時(shí)可以添加RS485 收發(fā)電路(可基于MAX3485 芯片搭建相關(guān)電路單元),合理利用子串口的RTS 引腳實(shí)現(xiàn)RS485 電路的自動(dòng)收發(fā)功能。RTS引腳的默認(rèn)電平狀態(tài)可通過程序配置,當(dāng)啟動(dòng)數(shù)據(jù)發(fā)送時(shí),RTS 引腳控制RS485 收發(fā)器芯片的DE 和RE 引腳實(shí)現(xiàn)數(shù)據(jù)發(fā)送,啟動(dòng)數(shù)據(jù)接收時(shí),RTS 就會(huì)反向控制RS485 收發(fā)器芯片進(jìn)入接收模式。值得一提的是WK2168 芯片的每個(gè)子串口通道都支持9 位網(wǎng)絡(luò)地址的自動(dòng)識(shí)別,每個(gè)子串口都有一個(gè)唯一地址,還具備網(wǎng)絡(luò)地址寄存器和網(wǎng)絡(luò)地址使能控制位,所以比較適用于工業(yè)/自動(dòng)化現(xiàn)場(chǎng)RS485 總線下的控制場(chǎng)景。

        3 擴(kuò)展器軟件設(shè)計(jì)

        硬件搭建完畢后即可選定一種主接口形式進(jìn)行程序編寫,以測(cè)試擴(kuò)展器數(shù)據(jù)的收發(fā)功能。

        若選擇8 位并口作為主接口,則需先將主接口模式配置引腳MD0 和MD1取值為“10”,此時(shí)MP0 用作數(shù)據(jù)地址AD 選擇引腳,MP1 用作讀信號(hào)RD控制引腳,MP2 用作寫信號(hào)WR 控制引腳,MP3 用作片選CS 控制引腳,DAT0至DAT7 為8 位數(shù)據(jù)總線,將其連到主控制器的一組I/O 端口即可,操作時(shí)序上兼容傳統(tǒng)的MCS-51 單片機(jī)并行讀寫時(shí)序(P0 端口組做數(shù)據(jù)總線,P3.6/P3.7 為讀寫控制線)。

        若選擇三線異步UART作為主接口,則需先將主接口模式配置引腳MD0 和MD1 取值為“11”,此時(shí)MP0 和MP3 引腳不用,MP1 用作主接口串行數(shù)據(jù)發(fā)送MTX 引腳,MP2 用作主接口串行數(shù)據(jù)接收MRX 引腳,操作時(shí)序上與WK21xx 系列芯片中的WK2114 芯片一致[15]。

        若選擇四線SPI 作為主接口,則需先將主接口模式配置引腳MD0 和MD1 取值為“00”,此時(shí)MP0 用作主設(shè)備輸入/從設(shè)備輸出MISO 引腳,MP1 用作主設(shè)備輸出/從設(shè)備輸入MOSI 引腳,MP2 用SPI 串行時(shí)鐘SCLK 引腳,MP3用作SPI 片選SSEL 引腳,操作時(shí)序上與WK21xx 系列芯片中的WK2124 芯片一致[16]。

        若選擇兩線I2C 作為主接口,則需先將主接口模式配置引腳MD0 和MD1 取值為“01”,此時(shí)MP0 用作串行數(shù)據(jù)SDA 引腳,MP1 用作I2C 器件低位地址IA0 引腳,MP2 用串行時(shí)鐘SCL 引腳,MP3 用作I2C 器件高位地址IA1 引腳,操作上與標(biāo)準(zhǔn)的I2C 時(shí)序類似。

        主控制器可操作WK2168 芯片內(nèi)部寄存器或FIFO 暫存器去控制子串口實(shí)現(xiàn)數(shù)據(jù)收發(fā)。本文以I2C 主接口為例,通過I2C 主接口寫FIFO 暫存器的操作時(shí)序如圖3 所示。

        圖3 I2C 接口寫數(shù)據(jù)到FIFO 時(shí)序

        在寫入時(shí)序中,當(dāng)串行時(shí)鐘SCL 線路為高,串行數(shù)據(jù)SDA 線路出現(xiàn)下降沿時(shí)便產(chǎn)生了I2C 通信時(shí)序的起始信號(hào)START。此時(shí)主控制器需要向擴(kuò)展器寫入一個(gè)命令字節(jié)Command(具體取值等于I2C 從機(jī)地址、子串口通道號(hào)和“0x22”三者進(jìn)行按位或運(yùn)算的結(jié)果),明確本次操作為寫入FIFO,隨后寫入FIFO 寄存器地址,最后寫入數(shù)據(jù)內(nèi)容,數(shù)據(jù)字節(jié)寄存器的地址會(huì)隨著寫入字節(jié)數(shù)量而自增,且每次寫入操作后都會(huì)收到來自擴(kuò)展器的從機(jī)應(yīng)答ACK 信號(hào),寫入數(shù)據(jù)完畢后再由主控制器產(chǎn)生終止信號(hào)STOP 即可(即在串行時(shí)鐘SCL 線路為高時(shí),讓串行數(shù)據(jù)SDA 線路出現(xiàn)上升沿)。

        編程時(shí)可用C51 語言將該時(shí)序進(jìn)行描述,將具體操作封裝為WK2XXX_Write_FIFO(u8 num,u8 count,u8 *fifo_buff)函數(shù),形參“num”為子串口通道號(hào),形參“count”為欲寫入的字節(jié)數(shù)量,形參“*fifo_buff”指針用于指向?qū)懭霐?shù)組首地址,具體的源碼實(shí)現(xiàn)如下:

        在寫時(shí)序的命令字節(jié)中,C1 和C0 位代表子串口的通道號(hào),A0 至A3 位表示子串口寄存器的地址。因?yàn)橹鹘涌谶x定了I2C,所以P0 和P1 就代表擴(kuò)展器的從機(jī)地址,具體的取值由MP1 和MP3 引腳上的電平?jīng)Q定,時(shí)序中的ACK是來自從機(jī)的應(yīng)答信號(hào)。與寫時(shí)序類似,通過I2C 主接口從FIFO 暫存器中讀取數(shù)據(jù)的操作時(shí)序如圖4 所示。

        圖4 I2C 接口從FIF O 讀數(shù)據(jù)時(shí)序

        讀取數(shù)據(jù)與寫時(shí)序類似,先由主控制器在I2C 總線上產(chǎn)生起始信號(hào)START,然后向擴(kuò)展器寫入一個(gè)命令字節(jié)Command(具體取值等于I2C 從機(jī)地址、子串口通道號(hào)和“0x23”三者進(jìn)行按位或運(yùn)算的結(jié)果),明確本次操作為讀取FIFO,如果收到了來自擴(kuò)展器的ACK 應(yīng)答,則可以連續(xù)讀取n 個(gè)字節(jié),在讀取過程中FIFO 寄存器的地址會(huì)自動(dòng)增加,若主控制器不再需要讀取數(shù)據(jù),只需發(fā)送一個(gè)主機(jī)無應(yīng)答NACK 信號(hào)到SDA 線路上,接著產(chǎn)生終止信號(hào)STOP即可。

        編程時(shí)可用C51 語言將該時(shí)序進(jìn)行描述,將具體操作封裝為WK2XXX_Read_FIFO(u8 num,u8 count,u8 *fifo_buff)函數(shù),形參“num”為子串口通道號(hào),形參“count”為欲讀取的字節(jié)數(shù)量,形參“*fifo_buff”指針用于指向接收數(shù)組首地址。

        實(shí)現(xiàn)FIFO 暫存器的讀寫操作之后就可以測(cè)試各路子串口的收發(fā)功能,可在程序主函數(shù)內(nèi)初始化相關(guān)引腳模式,隨后配置子串口波特率、數(shù)據(jù)幀格式,使能子串口通信功能,然后進(jìn)入FIFO 收發(fā)測(cè)試,可以向外輸出預(yù)設(shè)字符串信息,也可以建立多個(gè)數(shù)組,實(shí)現(xiàn)子串口自收自發(fā)功能。

        4 實(shí)物制作與測(cè)試

        按照硬件電路設(shè)計(jì)并制作的串口擴(kuò)展器實(shí)物如圖5(a)所示,擴(kuò)展器具備主接口和功能接口,擴(kuò)展器板載了WK2168 核心和電平轉(zhuǎn)換電路,若撥動(dòng)開關(guān)打到“R”一側(cè)則說明該路子串口遵循RS232 電平標(biāo)準(zhǔn),打到“T”一側(cè)則說明該路子串口遵循TTL/CMOS 電平標(biāo)準(zhǔn),用戶還可以在子串口后級(jí)連接RS485 轉(zhuǎn)換電路或者其他通信轉(zhuǎn)換單元以適配更多的場(chǎng)景需求。

        圖5 WK2168 擴(kuò)展器實(shí)物與測(cè)試圖

        擴(kuò)展器選定主接口后可連接到主控制器,在程序控制下即可進(jìn)行數(shù)據(jù)收發(fā)測(cè)試,實(shí)際測(cè)試過程如圖5(b)所示,用USB 轉(zhuǎn)串口單元連接擴(kuò)展器實(shí)物的某個(gè)子串口通道,然后做自收自發(fā)測(cè)試,實(shí)際發(fā)送“WK2168 CH1 TX-RX Test!”字符串,在啟用時(shí)間戳功能后看到了返回的字符串與發(fā)送一致,由此驗(yàn)證了擴(kuò)展器功能正常。

        5 結(jié)語

        本文設(shè)計(jì)的串口擴(kuò)展器支持4 種類型的主接口輸入,兼容了市面上大部分串口擴(kuò)展專用芯片的主接口類型,所能適配的應(yīng)用場(chǎng)景較為豐富。擴(kuò)展器支持2.5V~5V 寬電壓范圍供電,能夠較好地對(duì)接常規(guī)低壓微控制器系統(tǒng)??砂葱柽B接各類串口傳感器、串口屏、執(zhí)行器、通信模塊或單元板卡,適合作為積木模塊嵌入到實(shí)際系統(tǒng)應(yīng)用中。

        所擴(kuò)展的4 路子串口支持差異化參數(shù)配置,數(shù)據(jù)收發(fā)方式和工作模式多樣,靈活性較好。但在具體應(yīng)用時(shí)還需妥善處理FIFO 計(jì)數(shù)器狀態(tài)、FIFO 觸點(diǎn)配置、中斷控制、超時(shí)處理、數(shù)據(jù)流控制、網(wǎng)絡(luò)號(hào)識(shí)別等環(huán)節(jié)。綜上所述,該款串口擴(kuò)展器具備一定的實(shí)用價(jià)值,可結(jié)合實(shí)際需求進(jìn)行運(yùn)用。

        猜你喜歡
        寄存器電平時(shí)序
        時(shí)序坐標(biāo)
        基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        NPC五電平Z源逆變器的設(shè)計(jì)研究
        基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
        基于NPC三電平變換器的STATCOM研究
        一種多電平逆變器及其并網(wǎng)策略
        DPBUS時(shí)序及其設(shè)定方法
        河南科技(2014年15期)2014-02-27 14:12:36
        亚洲av福利无码无一区二区| 91色综合久久熟女系列| 在线视频国产91自拍| 国产真实乱对白精彩| 伊人网综合在线视频| 青青草一级视频在线观看| 亚洲不卡一区二区视频| 色综合久久精品亚洲国产| 色窝窝在线无码中文| 久久国产高潮流白浆免费观看| 涩涩鲁精品亚洲一区二区| 爱性久久久久久久久| 亚洲免费视频播放| 一区二区三区精品偷拍av| 久久精品人搡人妻人少妇| 国产顶级熟妇高潮xxxxx| 久久国产亚洲高清观看5388| 午夜在线观看一区二区三区四区 | 中文乱码字幕高清在线观看| 亚洲综合小综合中文字幕| 高清毛茸茸的中国少妇| 亚洲精品人成无码中文毛片| 91免费国产| 亚洲视频专区一区二区三区| 欧美另类人妖| 亚洲综合AV在线在线播放| 久久蜜桃一区二区三区| 亚洲免费视频一区二区三区| 91偷拍与自偷拍亚洲精品86| 在线天堂www中文| 四虎国产精品视频免费看| 国产免费一区二区三区三| 精品日韩亚洲av无码| 日产精品久久久久久久蜜臀| 亚洲av综合色区在线观看| 喷水白浆视频在线观看| 在线高清理伦片a| 日韩久久久久中文字幕人妻| 国产色第一区不卡高清| 国产午夜福利精品一区二区三区 | 亚洲a∨无码一区二区三区|