專用芯片ATT7022C的電參數測量模塊設計
4 軟件設計
模塊的軟件設計首先是對各部分的通信接口進行初始化,然后對芯片進行校正,接著把實驗校正的值寫入ATT7022C的各個寄存器。最后,在主函數的循環語句中瀆取芯片各個寄存器的數據進行顯示、存儲、向上位機傳輸。
4.1 ATT7022C與LPC2138的SPI接口函數
圖5、圖6分別為ATT7022C芯片的SPI接口讀、寫時序圖。圖中,CS為芯片的片選信號線;SCLK為時鐘信號線;DIN為串行數據輸入線,用于把用戶的數據、命令、地址傳輸到ATT7022C芯片,它與ARM處理器的SPI總線的MOSI連接通信;DOUT為串行數據輸出線,用于從ATT7022C芯片讀取數據,它與ARM處理器的SPI總線的MISO連接通信。從圖5中可以看出,當向ATT7022C芯片寫一個字節數據時,SCLK高電平時在DIN引腳準備好數據,一個時鐘下降沿,就把一位數據寫入芯片中。當從ATT7022C讀取一個字節數據時,一個時鐘上升沿,芯片會把一位數據傳輸到DOUT引腳,ARM讀取該引腳得到一位數據。使用ARM的SPI總線,數據在SCLK高電平時有效,所以在設置SPI控制寄存器時CPOL位應置0。SPI傳輸的第一位數據在第二個時鐘沿被采樣,CPHA位應置1。ARM與ATT7022C芯片進行數據通信時,需要先向ATT7022C芯片寫入8位的命令字,然后才能通過SPI接口讀出或寫入24位數據。數據傳輸時高位在先,LSBF位應置0。在數據傳輸的過程中CS要保持在低電平的狀態,傳輸完成后應把CS拉高。同時設置SPI總線為主模式、禁止SPl的中斷。本文引用地址:http://www.j9360.com/article/194692.htm
SPI的接口函數如下:
評論