ARM與TLV5637的模擬SPI接口的應用設計
3 對TLV5637的訪問
TLV5637是TI公司一款雙通道的10位電壓輸出D/A轉換器件。該器件具有3個信號線:SCLK、DIN和CS,支持對TMS320系列的SPI,以及QSPI和Microwave串行端口的無縫連接。圖3為TLV5637和SPI接口的連接示意圖。從圖中可以看出,只能通過SPI接口向TLV5637進行寫操作。
圖4為TLV5637的時序圖。如圖所示,TLV5637的數據采樣是在SCK時鐘的上升沿發生,而且該器件只支持16位的數據格式。
可以看出,16位的數據包含兩個部分:編程位和數據位。SPD為速度控制位,1表示快速,0表示慢速;PWR為功率控制位,1表示掉電模式,0表示工作模式;R1和R0為寄存器選擇位。表1為TLV5637的寄存器寫入選擇表。
表1中的寫控制寄存器即設置參考電壓,數據位的低兩位表示參考電壓的相關信息。其中,“00”和“11”表示參考電壓取自外部,“0l”表示參考電壓為1.024 V,“10”表示參考電壓為2.048 V。輸出電壓的幅度由下式決定:
CODE為所寫入的電壓數據值,REF為所設定的參考電壓。此外,在寫入電壓數據時,12位的數據只保持高10位有效,低2位可以忽略。TLV5637的寫函數如下:
經過驗證,可以通過GPIO口模擬的SPI接口對TLV5637的輸出電壓進行精確設置,而且其輸出滿足系統的電壓誤差要求。
結 語
本文提出了利用ARM芯片LPC2378的GPIO接口來仿真SPI接口的方法,同時實現了對串行D/A轉換芯片TLV5637的模擬SPI接口訪問。該方法具有一定的普遍意義,只要稍加改動,便可以應用于各種類型的微處理器。
評論