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