當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]ARM與TLV5637的模擬SPI接口設(shè)計(jì)

 摘 要 在對SPI接口協(xié)議進(jìn)行分析的基礎(chǔ)上,提出了利用ARM的GPIO口來模擬SPI接口的通用實(shí)現(xiàn)方法。根據(jù)串行D/A芯片TLV5637的時序特性和操作要求,利用模擬的SPI接口方法,實(shí)現(xiàn)了對TLV5637的訪問。
關(guān)鍵詞 模擬SPI ARM TLV5637


引 言
    SPI(Serial Peripheral Interface)是Motorola公司推出的一種同步串行外圍接口。該接口由于協(xié)議實(shí)現(xiàn)簡單,傳輸速度快等優(yōu)點(diǎn),已被廣泛應(yīng)用于EEPROM、 Flash、實(shí)時時鐘、A/D轉(zhuǎn)換器以及D/A轉(zhuǎn)換器等芯片的讀寫。本文根據(jù)實(shí)際工程中的應(yīng)用需求,用ARM芯片LPC2378的GPIO來模擬SPI接口,以實(shí)現(xiàn)對外圍SPI接口器件的操作。其中,D/A轉(zhuǎn)換是系統(tǒng)中的一個功能單元,利用GPIO模擬SPI接口的思想和方法,實(shí)現(xiàn)對串行D/A芯片 TLV5367的訪問,以滿足工程要求。

1 SPI串口通信格式
    SPI接口協(xié)議要求接口設(shè)備按主一從方式進(jìn)行配置,總線上可以連接多個可作為主機(jī)的控制器、具備SPI接口的輸入/輸出設(shè)備,但同一時間內(nèi)總線上只能允許一個設(shè)備充當(dāng)主機(jī)。通常,SPI接口包括4種信號:
    MISO串行數(shù)據(jù)輸入,也稱主入從出。
    MOSI 串行數(shù)據(jù)輸出,也稱主出從入。
    SCK 串行時鐘,由主機(jī)提供給從機(jī)。
    SS 從機(jī)片選信號。
    在時鐘SCK的作用下,SPI主機(jī)發(fā)送寄存器的內(nèi)容順序移位輸出給SPI從機(jī)。同時,SPI從機(jī)也將其數(shù)據(jù)寄存器的內(nèi)容移位輸出給主機(jī)。圖1為其工作原理示意圖。

2 基于ARM的SPI接口模擬
    LPC2378是Philips公司生產(chǎn)的ARM7系列芯片。該芯片是一款支持實(shí)時仿真和嵌入式跟蹤的16/32位 ARM7TDMI-S微控制器,具有三級流水線指令處理結(jié)構(gòu)。LPC2378具有5個32位的GPIO端口。對GPIO口的控制可以通過操作以下GPIO 寄存器來實(shí)現(xiàn):
    FIODIR 快速GPIO端口方向控制寄存器;
    FIOMASK 快速GPIO端口屏蔽寄存器;
    FIOPIN 快速GPIO端口狀態(tài)寄存器;
    FIOSET 快速GPIO端口置位寄存器;
    FIOCLR 快速GPIO端口清零寄存器。
    通常,SPI接口的串行時鐘SCK按時序可以分為兩種:在SCK上升沿采樣數(shù)據(jù)和在SCK的下降沿采樣數(shù)據(jù)。由于SPI接口定義的靈活性,導(dǎo)致了各個廠商生產(chǎn)的具有SPI接口的芯片在工作時序上不一致。為了提高程序的通用性,用條件編譯的方法來設(shè)置。同時為了增強(qiáng)程序的規(guī)整性,作如下設(shè)定:P2.0輸出 SS從機(jī)使能信號;P2.1輸出SCK時鐘信號;P2.2對應(yīng)MISO信號;P2.3對應(yīng)MOSI信號。圖2所示為GPIO模擬SPI接口發(fā)送一個字符數(shù)據(jù)的程序流程。發(fā)送數(shù)據(jù)前需將從機(jī)使能信號設(shè)置為有效,而且一直保持到數(shù)據(jù)發(fā)送完畢。由于是在SCK上升沿?cái)?shù)據(jù)有效,因此在發(fā)送每個數(shù)據(jù)位前需將SCK設(shè)為低電平,然后根據(jù)數(shù)據(jù)最高位來設(shè)定MOSI端口的輸出電平,最后再將SCK設(shè)置為高電平。SPI從機(jī)設(shè)備便在SCK的上升沿處對MOSI信號線采樣,從而讀取該數(shù)據(jù)位電平。在SCK下降沿采樣數(shù)據(jù),只需將SCK設(shè)置高低電平的次序互換即可。[!--empirenews.page--]

    發(fā)送數(shù)據(jù)的實(shí)現(xiàn)代碼如下:


    GPIO模擬SPI接口接收數(shù)據(jù)的流程和發(fā)送的不同之處在于讀取MISO信號而非設(shè)置MOSI電平。限于篇幅,對其不予贅述。接收數(shù)據(jù)的實(shí)現(xiàn)代碼如下:


    上述的發(fā)送和接收代碼只是基本的實(shí)現(xiàn),對于不同的SPI器件需要在每次操作后加入不同的延時以滿足該器件信號建立和保持的時序要求。此外,根據(jù)不同的SCK時序要求,只需設(shè)置宏變量SCK_RingEdge即可。

3 對TLV5637的訪問
    TLV5637是TI公司一款雙通道的10位電壓輸出D/A轉(zhuǎn)換器件。該器件具有3個信號線:SCLK、DIN和CS,支持對TMS320系列的SPI,以及QSPI和Microwave串行端口的無縫連接。圖3為TLV5637和SPI接口的連接示意圖。從圖中可以看出,只能通過SPI接口向TLV5637進(jìn)行寫操作。

[!--empirenews.page--]

    圖4為TLV5637的時序圖。如圖所示,TLV5637的數(shù)據(jù)采樣是在SCK時鐘的上升沿發(fā)生,而且該器件只支持16位的數(shù)據(jù)格式。

    可以看出,16位的數(shù)據(jù)包含兩個部分:編程位和數(shù)據(jù)位。SPD為速度控制位,1表示快速,0表示慢速;PWR為功率控制位,1表示掉電模式,0表示工作模式;R1和R0為寄存器選擇位。表1為TLV5637的寄存器寫入選擇表。

    表1中的寫控制寄存器即設(shè)置參考電壓,數(shù)據(jù)位的低兩位表示參考電壓的相關(guān)信息。其中,“00”和“11”表示參考電壓取自外部,“0l”表示參考電壓為1.024 V,“10”表示參考電壓為2.048 V。輸出電壓的幅度由下式?jīng)Q定:

  
    CODE為所寫入的電壓數(shù)據(jù)值,REF為所設(shè)定的參考電壓。此外,在寫入電壓數(shù)據(jù)時,12位的數(shù)據(jù)只保持高10位有效,低2位可以忽略。TLV5637的寫函數(shù)如下:


    經(jīng)過驗(yàn)證,可以通過GPIO口模擬的SPI接口對TLV5637的輸出電壓進(jìn)行精確設(shè)置,而且其輸出滿足系統(tǒng)的電壓誤差要求。


結(jié) 語
    本文提出了利用ARM芯片LPC2378的GPIO接口來仿真SPI接口的方法,同時實(shí)現(xiàn)了對串行D/A轉(zhuǎn)換芯片TLV5637的模擬SPI接口訪問。該方法具有一定的普遍意義,只要稍加改動,便可以應(yīng)用于各種類型的微處理器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(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)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

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

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(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)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(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)閉