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