3?MAX1230的引腳排列
MAX1230有24腳QSOP和28腳QFN兩種封裝形式,其引腳排列如圖2所示?各引腳的功能如下:
AIN0~AIN15:模擬量輸入;
REF-:使用外部差分基準源時(shí)的負輸入,與A14復用;
CNVST:“轉換開(kāi)始”信號輸入,低電平有效,與A15復用;
REF+:基準電壓源的正輸入,該腳和地之間要加0.1μF的電容;
GND:接地腳;
VDD:電源輸入,電壓范圍為4.75~5.25V,它和地之間應加0.1μF的電容;
SCLK:串行時(shí)鐘輸入,用作采樣和轉換,使用外部時(shí)鐘時(shí),其頻率范圍為0.1MHz~4.8MHz,當其作為讀寫(xiě)串行數據的時(shí)鐘頻率時(shí),可達到10MHz,占空比范圍為40%~60%;
CS:片選端,低電平有效;
DIN:串行數據輸入,輸入的串行數據在SCLK的上升沿被鎖存?通過(guò)SCLK?CS?DIN三根信號線(xiàn)可組成與SPI/QSPI/MICROWIRE相兼容的串行輸入接口;
DOUT:串行數據輸出,它與SCLK的下降沿同步?當CS為高電平時(shí),DOUT為高阻態(tài);
EOC:“轉換結束”標志輸出,當它變?yōu)榈碗娖綍r(shí)表明轉換結束,輸出數據有效?
4?MAX1230的工作過(guò)程
4.1 轉換參數的配置
MAX1230的工作方式由其內部的控制寄存器決定,這些寄存器主要有轉換方式寄存器?工作方式寄存器?均值方式寄存器和復位寄存器等?工作時(shí),首先要對這些寄存器進(jìn)行正確配置,配置參數可通過(guò)MAX1230的串行口寫(xiě)入?在進(jìn)行配置時(shí),CS置為低電平,配置參數從DIN引腳輸入,并在串行時(shí)鐘SCLK的上升沿被鎖存,此過(guò)程中,SCLK的頻率不能高于10MHz?表1所列是這幾個(gè)寄存器的參數定義?下面是對它們的具體說(shuō)明?
表1 MAX1230主要寄存器的參數定義
(1)在轉換方式寄存器中,BIT7為標志位,BIT6~BIT3用以選擇輸入通道,0000~1111分別對應著(zhù)AIN0~AIN15的各個(gè)輸入;BIT2和BIT1用以確定輸入通道的掃描方式;BIT0是溫度測量方式位,該位為1時(shí),只進(jìn)行1次溫度測量,并在第一次的轉換數據中輸出?
(2)工作方式寄存器中,BIT7和BIT6為標志位;BIT5和BIT4用于選擇時(shí)鐘的使用方式,可確定具體使用內部時(shí)鐘還是外部時(shí)鐘;BIT3和BIT2用于選擇是用內部還是外部的基準源;BIT1和BIT0的值用于在差分輸入方式下決定選擇是單極性工作模式還是雙極性工作模式,當這兩位的值為00和01時(shí),對應的寄存器不作修改,當其為10時(shí),系統將修改單極性模式寄存器,而當為11時(shí),修改雙極性模式寄存器?實(shí)際上,在配置了工作方式寄存器后,也就對單/雙極性模式寄存器進(jìn)行了配置?
(3)在均值方式寄存器中,BIT7~BIT5是標志位;BIT4是均值功能控制位,該位寫(xiě)入1時(shí)開(kāi)啟均值功能,寫(xiě)入0時(shí)關(guān)閉;BIT3和BIT2用于定義計算均值時(shí)所需的數據個(gè)數;BIT1和BIT0用于設置對某一通道掃描時(shí)返回結果的個(gè)數?
(4)復位寄存器中的BIT7~BIT4為標志位;BIT3是復位操作控制位,該位寫(xiě)入1時(shí),僅復位內部FI-FO,寫(xiě)入0時(shí)復位所有的寄存器至默認狀態(tài);BIT2~BIT0為保留位,一般不影響操作?
4.2 轉換過(guò)程的控制
按照采樣和轉換過(guò)程中時(shí)鐘工作方式的不同,MAX1230的工作方式分為四種,可根據情況靈活選擇?轉換的結果有12位,高位在前,并以“0000”為前導形成兩個(gè)字節從DOUT引腳輸出,同時(shí)與串行時(shí)鐘SCLK的下降沿同步?這四種工作方式如下:
(1)采樣和轉換都使用內部時(shí)鐘,并用CONVST信號進(jìn)行初始化,其時(shí)序如圖3所示?工作時(shí),CONVST需要產(chǎn)生一個(gè)寬度大于40ns的低電平來(lái)對采樣和轉換進(jìn)行初始化?轉換結束后,信號EOC變成低電平表示轉換結果有效,可以從DOUT引腳讀出數據?在EOC信號產(chǎn)生前,CONVST信號不能出現低電平,否則會(huì )引起內部FIFO操作的錯誤?
(2)采樣使用外部時(shí)鐘,而轉換使用內部時(shí)鐘,并用CONVST信號進(jìn)行初始化?此種模式下的讀寫(xiě)操作和第一種類(lèi)似,區別是當需要進(jìn)行均值運算時(shí),該方式還需要再產(chǎn)生一個(gè)CONVST信號來(lái)初始化均值運算?
(3)采樣和轉換都使用內部時(shí)鐘,并通過(guò)串行口寫(xiě)入命令字來(lái)進(jìn)行初始化,該模式的時(shí)序如圖4所示?寫(xiě)入命令字后轉換開(kāi)始,轉換完成時(shí),EOC信號變?yōu)榈碗娖?數據可以從DOUT讀取?這種方式是芯片上電后默認的工作方式?
(4)采樣和轉換都使用外部時(shí)鐘,并通過(guò)串行口寫(xiě)入命令字來(lái)進(jìn)行初始化?該方式與第三種方式的區別是采樣和轉換都使用外部時(shí)鐘,此時(shí)外部時(shí)鐘的頻率不能超過(guò)4.8MHz?在這種方式下,結果在轉換的過(guò)程中就可讀取,信號EOC始終為高電平,此種方式下,輸入通道掃描和輸出數據均值等功能都不可用?
5?典型應用
筆者在電力系統繼電保護裝置的設計中使用了MAX1230來(lái)采集電壓信號,圖5所示是MAX1230與單片機AT89C51的接口電路?根據應用要求,此電路中的MAX1230工作于第一種方式,采樣和轉換過(guò)程使用的都是內部時(shí)鐘和內部基準電壓源?工作時(shí),由單片機產(chǎn)生CS和CONVST信號以控制轉換過(guò)程,并用EOC信號作為外部中斷源來(lái)觸發(fā)單片機的INT0中斷?單片機在響應中斷后將產(chǎn)生串行時(shí)鐘SCLK和片選信號CS,并從DOUT引腳讀取轉換結果?由于此電路中需要用到CONVST引腳,因此與其復用的A15就不能再用了,這樣,模擬輸入通道實(shí)際可用的只有15個(gè),即A0~A14 ?
實(shí)際上,筆者在設計中使用了其中的A0~A11這12個(gè)通道,并使其工作于輸入通道掃描方式?運行結果表明:MAX1230工作可靠,效果較好?