ARM與TLV5637的模擬SPI接口設計
圖4為TLV5637的時(shí)序圖。如圖所示,TLV5637的數據采樣是在SCK時(shí)鐘的上升沿發(fā)生,而且該器件只支持16位的數據格式。
可以看出,16位的數據包含兩個(gè)部分:編程位和數據位。SPD為速度控制位,1表示快速,0表示慢速;PWR為功率控制位,1表示掉電模式,0表示工作模式;R1和R0為寄存器選擇位。表1為TLV5637的寄存器寫(xiě)入選擇表。
表1中的寫(xiě)控制寄存器即設置參考電壓,數據位的低兩位表示參考電壓的相關(guān)信息。其中,“00”和“11”表示參考電壓取自外部,“0l”表示參考電壓為1.024 V,“10”表示參考電壓為2.048 V。輸出電壓的幅度由下式?jīng)Q定:
CODE為所寫(xiě)入的電壓數據值,REF為所設定的參考電壓。此外,在寫(xiě)入電壓數據時(shí),12位的數據只保持高10位有效,低2位可以忽略。TLV5637的寫(xiě)函數如下:
經(jīng)過(guò)驗證,可以通過(guò)GPIO口模擬的SPI接口對TLV5637的輸出電壓進(jìn)行精確設置,而且其輸出滿(mǎn)足系統的電壓誤差要求。
結 語(yǔ)
本文提出了利用ARM芯片LPC2378的GPIO接口來(lái)仿真SPI接口的方法,同時(shí)實(shí)現了對串行D/A轉換芯片TLV5637的模擬SPI接口訪(fǎng)問(wèn)。該方法具有一定的普遍意義,只要稍加改動(dòng),便可以應用于各種類(lèi)型的微處理器。
評論