當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:由于傳統(tǒng)的NI-DIO驅(qū)動(dòng)板卡能夠驅(qū)動(dòng)的I/O口數(shù)量比較有限,一般只應(yīng)用在測(cè)試通道數(shù)比較少的實(shí)驗(yàn)場(chǎng)合。而在一般的大型環(huán)境試驗(yàn)中,要求能對(duì)多個(gè)產(chǎn)品同時(shí)測(cè)量。如果使用傳統(tǒng)的DIO板卡測(cè)試,就會(huì)出現(xiàn)測(cè)量通道數(shù)量不

摘要:由于傳統(tǒng)的NI-DIO驅(qū)動(dòng)板卡能夠驅(qū)動(dòng)的I/O口數(shù)量比較有限,一般只應(yīng)用在測(cè)試通道數(shù)比較少的實(shí)驗(yàn)場(chǎng)合。而在一般的大型環(huán)境試驗(yàn)中,要求能對(duì)多個(gè)產(chǎn)品同時(shí)測(cè)量。如果使用傳統(tǒng)的DIO板卡測(cè)試,就會(huì)出現(xiàn)測(cè)量通道數(shù)量不夠的情況。針對(duì)此類問(wèn)題,提出了運(yùn)用單片機(jī)與I/O擴(kuò)展芯片PCA9554/A采用I2C通信進(jìn)行I/O擴(kuò)展,上位機(jī)采用LabVIEW編程,界面友好、操作方便,在環(huán)境實(shí)驗(yàn)中起到了良好效果。
關(guān)鍵詞:I/O口;MCU;PCA9554/A;LabVIEW

0 引言
    隨著電子技術(shù)的飛速發(fā)展,各類電子產(chǎn)品像雨后春筍般大量的進(jìn)軍電子市場(chǎng),其中也包括正在蓬勃發(fā)展的汽車電子行業(yè)。一般汽車電子行業(yè)對(duì)這些電子產(chǎn)品的要求比較高,會(huì)有很多的技術(shù)指標(biāo)去規(guī)范它們,其中很重要的一環(huán)便是環(huán)境實(shí)驗(yàn)。出于對(duì)工作效率的考慮,一個(gè)環(huán)境測(cè)試臺(tái)架往往要求能對(duì)多個(gè)產(chǎn)品進(jìn)行同時(shí)測(cè)試。而這些產(chǎn)品的引腳數(shù)量一般也會(huì)比較多,這樣一來(lái),測(cè)試臺(tái)架上所需的測(cè)試通道數(shù)量就會(huì)很多,往往多達(dá)幾百個(gè)。
    一般多數(shù)用于汽車電子產(chǎn)品的環(huán)境測(cè)試臺(tái)架里面會(huì)集成有NI公司的DIO驅(qū)動(dòng)板卡,由于它們的驅(qū)動(dòng)端口比較多,便專用來(lái)負(fù)責(zé)產(chǎn)品的環(huán)境實(shí)驗(yàn)測(cè)試。以NI-6509為例,這是一個(gè)12×8的板卡,總共有12個(gè)通道,每通道8位I/O控制組成,總計(jì)96路I/O控制;NI-2532的矩陣板卡,其能支持的通道數(shù)是32×16,共512路。這些I/O端口,針對(duì)一般的應(yīng)用是夠的,但如果用于引腳數(shù)量比較多的產(chǎn)品測(cè)試,便會(huì)出現(xiàn)I/O口數(shù)
量不夠用的局面。假如環(huán)境實(shí)驗(yàn)要同時(shí)測(cè)試12個(gè)產(chǎn)品,每個(gè)產(chǎn)品有40個(gè)引腳,那么對(duì)于產(chǎn)品引腳繼電器就必須要有480個(gè),再加上一些外圍輔助儀器介入的切換,那么在這種情況下,這類DIO板卡的應(yīng)用就顯得很勉強(qiáng)。
    針對(duì)此類問(wèn)題,本文提出了一種有效的解決方法,便是應(yīng)用單片機(jī)的I/O口配合市面上一些常見(jiàn)的I/O擴(kuò)展芯片,進(jìn)行端口的擴(kuò)展。單片機(jī)有4個(gè)端口,每個(gè)端口8位,總計(jì)32個(gè)位控制;擴(kuò)展芯片,比如I2C芯片,只需要2根線(SDA&SCL)即可,因此可以連16組I2C通信,且每組可同時(shí)支持8個(gè)芯片(每組最大可容納8個(gè)地址),每個(gè)芯片又可控制8個(gè)端口。因此,單片機(jī)理論上,至少可支持16×8×8個(gè)端口。并且,如果芯片頭地址可以不一樣的話,例如PCA9554和PCA9554A,那么端口數(shù)量又可以增加一倍,達(dá)到2 048個(gè),這是一般的板卡所遠(yuǎn)遠(yuǎn)不能及的。

1 系統(tǒng)硬件設(shè)計(jì)
    本文所涉及到的硬件比較簡(jiǎn)單,上位機(jī)與MCU之間通過(guò)RS 232串口連接,MCU靠外部電源提供的5 V直流電進(jìn)行工作。再將MCU的2個(gè)端口模擬成SCL,SDA兩根線與PCA9554/A進(jìn)行通信連接。這樣就形成了上位機(jī)發(fā)送指令,單片機(jī)接受指令并進(jìn)行相應(yīng)解析后再通過(guò)SDA、SCL兩根線向PCA9554/A發(fā)送命令數(shù)據(jù),控制它的輸入與輸出。
1.1 PCA9554/A芯片介紹
    PCA9554和PCA9554A是16腳的CMOS器件,它們提供了I2C的應(yīng)用中的8位通用并行輸入/輸出口(GPIO),PCA9554/54A包含一個(gè)8位配置寄存器(輸入或輸出選擇)、8位輸入寄存器、8位輸出寄存器和一個(gè)極性反轉(zhuǎn)(高電平或低電平操作有效)寄存器。系統(tǒng)主控制器通過(guò)寫I/O口相應(yīng)的配置位來(lái)激活端口的輸入或輸出。PCA9554/A有3個(gè)硬件管腳(A0,A1,A2)來(lái)實(shí)現(xiàn)不同的I2C地址,最多允許8個(gè)器件共用一個(gè)I2C總線上。PCA9554與PCA554A的惟一區(qū)別在于I2C地址不同,這樣最多允許16個(gè)器件(9554和9554A各8個(gè))連接接到同一個(gè)I2C總線上。
1.2 基于PCA9554/A的硬件設(shè)計(jì)
    按I2C規(guī)約,PCA9554的器件地址為0x40,PCA9554A的器件地址為0x70,當(dāng)然,由于硬件地址引腳A0~A2可尋址8個(gè)器件,所以器件地址并不惟一,例如:A0接GND,A1接VCC,則PCA9554的器件地址為0x4C。使用STC89C52單片機(jī)為主控芯片,單片機(jī)的P1.3管腳與PCA9554的SDA管腳相連,P1.2管腳與PCA9554的SCL管腳相連。4個(gè)LED燈可以受四個(gè)按鍵控制,也可以受上位機(jī)進(jìn)行控制。


2 系統(tǒng)軟件設(shè)計(jì)
    本文系統(tǒng)軟件設(shè)計(jì)主要分為兩部分,一個(gè)是上位機(jī)的LabVIEW程序設(shè)計(jì);另一個(gè)則是單片機(jī)底層C語(yǔ)言的程序設(shè)計(jì)。
2.1 LabVIEW的程序設(shè)計(jì)
    上位機(jī)的程序設(shè)計(jì)主要是與MCU串口通信,通過(guò)向MCU發(fā)送控制命令來(lái)達(dá)到對(duì)PCA9554/A的I/O口進(jìn)行控制的目的。
    LabVIEW是一種圖形化編程語(yǔ)言,由美國(guó)國(guó)家儀器(NI)公司研制開(kāi)發(fā)的,類似于C和BASIC開(kāi)發(fā)環(huán)境。使用這種語(yǔ)言編程時(shí),基本上不寫程序代碼,取而代之的是流程圖。使用它進(jìn)行原理研究、設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。
    本文主要是用LabVIEW語(yǔ)言編寫與MCU的串口通信程序,界面友好、操作方便。LabVIEW控制單片機(jī)是通過(guò)Instrument I/O的Serial控件調(diào)用來(lái)實(shí)現(xiàn)的。主要用到其中的VISA配置串口節(jié)點(diǎn),包括串口配置、讀、寫、關(guān)閉等節(jié)點(diǎn)。通過(guò)對(duì)這些節(jié)點(diǎn)的調(diào)用就可以方便的對(duì)串口進(jìn)行操作。
    這里,Command to RS 232欄中的指令必須與單片機(jī)事先燒錄好的代碼相符合。這樣,單片機(jī)才能將接收到的指令進(jìn)行正確匹配,并執(zhí)行相應(yīng)操作。
    程序左端調(diào)用Configuration模塊,進(jìn)行串口的基本配置,比如BaudRate、數(shù)據(jù)位等,使這些參數(shù)與單片機(jī)里面的串口預(yù)定義設(shè)置相一致;右側(cè)是Close模塊,用于程序退出時(shí),釋放對(duì)串口的控制;中間是程序主體,包含對(duì)串口的讀、寫操作,實(shí)現(xiàn)對(duì)串口的雙向通信。為了程序簡(jiǎn)潔、形象易懂,此次程序中用到了對(duì)LabVIEW子函數(shù)的調(diào)用,如RS 232-ini,RS 232W-R等模塊,這些子函數(shù)就是用VISA串口節(jié)點(diǎn)來(lái)編寫的,只是做了封裝而已。
2.2 MCU的串口通信
    上位機(jī)是通過(guò)串口將指令字符傳遞給單片機(jī)的。單片機(jī)對(duì)串口的讀操作是通過(guò)中斷的方式實(shí)現(xiàn)的,以字符為單位,每接收到一個(gè)8位的字符,MCU產(chǎn)生一個(gè)讀中斷RI=1,此時(shí),單片機(jī)將接收到的字符儲(chǔ)存起來(lái),然后軟件將RI復(fù)位置0,繼續(xù)接收下一個(gè)字符。本系統(tǒng)中,所有計(jì)算機(jī)發(fā)送給單片機(jī)的指令均以‘?’結(jié)尾。MCU接收到‘?’后,產(chǎn)生一個(gè)終止位,然后與事先定義好的指令進(jìn)行匹配,如果指令事先有定義,那么就會(huì)執(zhí)行相應(yīng)的操作。
           
2.3 MCU的I2C時(shí)序模擬
    上位機(jī)向單片機(jī)發(fā)送指令數(shù)據(jù),如果這些指令已在單片機(jī)中事先定義好,那么單片機(jī)將會(huì)通過(guò)模擬的SDA與SCL兩個(gè)引腳,根據(jù)PCA9554/A的datasheet時(shí)序圖,將控制命令數(shù)據(jù)傳遞給PCA9554/A,從而實(shí)現(xiàn)對(duì)PCA9554/A的I/O口進(jìn)行控制。
2.3.1 PCA9554/A的寫操作
    根據(jù)I2C總線傳輸協(xié)議以及PCA9554/A的總線讀寫特性,可以看出:對(duì)PCA9554/A端口的寫操作主要是通過(guò)對(duì)它的輸出端口寄存器進(jìn)行寫操作的。具體過(guò)程為:在SCL為高電平期間,SDA由高電平向低電平轉(zhuǎn)換作為起始信號(hào),SDA由低電平向高電平轉(zhuǎn)化則為停止信號(hào)。在起始條件后,必須是從機(jī)地址,對(duì)于PCA9554來(lái)說(shuō)從地址的高4位是0100,而PCA9554A則是0111,A2,A1,A0的高低電平狀態(tài)可以有8種組合,最后一位是讀寫選擇位。從地址發(fā)送完后便是等待從機(jī)的應(yīng)答信號(hào)ACK,從機(jī)正確應(yīng)答后便開(kāi)始由主機(jī)發(fā)送命令字節(jié),接著又是等待從機(jī)應(yīng)答,應(yīng)答后便開(kāi)始發(fā)送數(shù)據(jù)了。以下為PCA9554的寫操作部分代碼。

2.3.2 PCA9554/A的讀操作
    對(duì)PCA9554/A的讀操作稍微麻煩一點(diǎn),需要在收到第二次從機(jī)應(yīng)答信號(hào)后再一次發(fā)送總線起始信號(hào)及從機(jī)地址即可。    

    由于篇幅原因,以上均只給出了部分重要程序。需要提出的是I2C總線上的起始、停止、以及讀寫數(shù)據(jù)的時(shí)序模擬均要參考PCA9554/A的datasheet中的時(shí)間參數(shù)要求,嚴(yán)格對(duì)應(yīng)。

3 結(jié)語(yǔ)
    本文運(yùn)用單片機(jī)與I/O擴(kuò)展芯片PCA9554/A采用I2C通信進(jìn)行I/O擴(kuò)展,提出了具體的軟硬件設(shè)計(jì),完成了上位機(jī)對(duì)PCA9554/A端口的直接控制,并進(jìn)行了I/O的有效擴(kuò)展。并成功的應(yīng)用在對(duì)多個(gè)汽車電子產(chǎn)品同時(shí)測(cè)量的環(huán)境試驗(yàn)中,取得了很好的效果。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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