CS5530是美國半導體公司推出的一款SPI總線的24位A/D芯片,內置可編程放大器,集成度高,性價比優(yōu),在電子秤和其他儀器儀表行業(yè)具有廣泛的應用前景,具有取代原有電子秤和儀器儀表行業(yè)中放大器+A/D芯片電路的 趨勢,從電子秤中的應用介紹CS5530芯片的硬件電路、內部結構及軟件編程。
電子秤是現代電子發(fā)展的產物,由于他具有操作簡單、 方便、精度高等優(yōu)點在工業(yè)、日常生活各領域廣泛應用,從功 能看可分為單一計重秤、計重計價秤、計重計數秤等多種。其 中單一計重秤在日常生活中最常見,計重計價秤在商場、市 場中廣泛應用,計重計數秤主要應用在工業(yè)領域,如電子元 器件的裝袋、小的零部件的裝袋等,由于這些元件、零部件體 積小、重量輕、每袋數量大,以前都是人工數,這樣既需要大 量人工,還容易出錯。為了解決這些問題,一種高精度既能計 重還能根據單重計算數量的電子秤運行而生,這就是本文 要介紹的計重計數電子秤。
1.總體方案
1.1系統(tǒng)框圖設計
電子秤硬件結構主要由以下幾部分構成,稱重傳感器、 放大電路、A/D轉換電路、CPU、輸入輸出電路等構成,其工作 原理就是稱重傳感器把重力轉換成4~20 mV的mV級電壓, 再通過放大器放大到A/D轉換所需的V級電壓,通過A/D轉 換成數字量,通過CPU計算處理變成相應的重量值,顯示或 輸出。計重計數電子秤硬件結構與普通電子秤相同,不同在 于要求精度高、軟件功能有所增加,而電子秤的量程和精度 是由A/D決定的,本文介紹的CS5530就一種串行A/D芯片, 由于其位數多、價格便宜,在高精度電子秤中具有巨大優(yōu)勢使用[3],電子秤結構框圖如圖1所示。
1.2A/D轉換芯片選型
A/D轉換電路是電子秤的關鍵部件,這里以一款3 kg/0.1 g 的電子秤為例來介紹A/D芯片的選型,現在市場上A/D芯片 種類繁多,從接口來分有并行、串行的,從轉換速度來分有超 速的、高速的、低速的,從精度來看有幾位到幾十位多種型 號,一般并行價格相對貴,速度越高越貴,位數越多越貴,價 格從幾元到幾百元,高的甚至達萬元以上,而電子秤在速度 上要求不快,但根據不同量程和精度要求對位數有一定要 求,做為電子產品成本是關鍵,所以選擇低成本的串行A/D 是首選,下面具體介紹一下如何通過量程和精度來確定要選 A/D的位數。電子的精度分為外部和內部兩種,外部精度就 是顯示精度,這也是我們一般講的電子秤的精度,而要達到 外部穩(wěn)定顯示重量,內部精度必須更高,以般是外部精度的 10倍。內部精度直接由A/D芯片位數確定.
3 kg/0.1 g電子秤外部精度為:3 000 g/0.1 g=30 000;所以內部精度應該大于等于:30 000x10=300 000。設A/D的位 數為n,則2的n之方應大于300 000,所以n應大于18。而 大于18位的A/D主要有20位、24位、32位等,所以一般選 擇20位或24位較合適。現在該檔電子秤精度的電子秤一般 選擇20位的CS5513,而CS5513本身無放大電路,需配一個 雙運放電路,常用的為OP2277,前者的價格在20元左右, OP2277也要15元左右,所以運放和A/D總成本需35元。另 —種是24位A/D芯片CS5530,內部包括可編程放大電路, 放大位數在1~64位可選,成本在22元左右,所以從性價比 來看選用CS5530更好。
1.2.1CS5530 特性
CS5530是一款24位SPI總線的中行A/D芯片。主要特 性如下:
1)內部1-64倍放大器;
2)性線失真小于0.0015%,準確分辨率19位以上;
3)三線串行接口 ;
4)內含電源管理、放大倍數、配置寄存器;
5)轉換速度從6.25?3 840 Hz可調;
6)多種電源供電方案可選;
1.2.2CS5530引腳及功能描述
1)引腳圖,如圖2所示。
2 CS5530 pin diagram
2)相關寄存器 ①配置寄存器描述
D31(MSB) D30 D29 D2S D27 D26 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16
| PSS |PDW| RS | RV | IS | NU | VRS | A1 [ AO | NU | NU | NU | FRS | NU | NU | NU |
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D6 D4 D3 D2 D1 DO
| NU | WR3 | WR2 | WR1 I WRO |UP/BP| QCD | NU [ NU | NU | NU | NU | NU | NU | NU | NU |
圖 3 Configuration register 描述 Fig. 3 Configuration register description
PSS:0標準模式(晶振激活,可快速上電),1睡眠模式 (晶振停止)
PDW:0正常模式,1激活電源存選擇模式 RS:系統(tǒng)復位,0正常模式,1復位 RV:0正常模式,1系統(tǒng)被復位,該位只讀 IS:0正常輸入,1短輸入
VRS:參考電壓選擇,0:2.5 V < VREF 彡[(VA+ )- (VA-)],1:1 V sS VREF sS 2.5 V A1-A0:
FRS:0默認速率,1以設定速率的5/6工作
D31-D8為24位數據,D2為溢出標志,為1溢出,數據 有錯誤,其他位為0
2 .CS5530硬件電路設計
CS5530外圍原理圖,如圖7所示。
J2接稱重傳感器,1-4分別為電源地、電源正、信號負、信 號正,VREF-接地,VREF+接2.5 V通過精密電阻對電源分壓 所得,SCLK、SDO、SDI分別接單片機P12、P11、P10,CS接地。
3.程序設計
3.1初始化函數
對CS5530內部寄存器進行初始化,設定相關工作方式, 放大倍數,轉換速度等工作。
具體程序如下: void CS5530_Init (void)
{
CS5530Reset(0x00);//復位
CS5530_WriteCmd (0x01,0x00000000);//寫 OFFSET 寄
CS5530_WriteCmd(0x02,0x3£££££££);//寫 GAIN 寄存器 CS5530_WriteCmd (0x03 ,0x02004800);//寫 CONFIG 寄
存器
}
寫寄存函數
對CS5530 3個寄存器進寫數據操作,具體程序如下: void CS5530_WriteCmd(UINT8 cmd,UINT32 d)
{
UINT8 i;
£or(i=0;i<8;i++)
{
CS5530_CLK=0;
i£(cmd & 0x80 ==0x80)
CS5530_SDIN=1;
else
CS5530_SDIN=0;
CS5530_CLK=1;
cmd<<=1 ;
_nop_();
_nop_();
}
£or(i=0;i<32;i++)
{
CS5530_CLK=0;
i£(d & 0x80000000 ==0x80000000)
CS5530_SDIN=1;
else
CS5530_SDIN=0; CS5530_CLK=1; d<<=1 ;
_nop_(); _nop_();
}
}
讀數據函數,讀AD轉換結果 具體程序如下:
UINT32 CS5530_ReadData(UINT8 d) {
UINT8 i;
UINT32 value;
REPEATREAD:
value=0 ;
CS5530_SD0UT=1;
£or(i=0;i<8 ;i++)
{
CS5530_CLK=0;
i£(d & 0x80 ==0x80)
CS5530_SDIN=1;
else
CS5530_SDIN=0; CS5530_CLK=1 ; d<<=1 ;
_nop_();
_nop_();
}
CS5530_CLK=0;
CS5530_SDIN=0;
while(CS5530_SD0UT);
£or(i=0;i<8;i++)
{
CS5530_CLK=0; _nop_();
_nop_(); CS5530_CLK=1 ; _nop_();
_nop_();
}
for(i=0;i<32;i++)
{
value<<=1 ;
CS5530_CLK=0;
if(CS5530_SDOUT)
value 丨=0x01 ;
CS5530_CLK=1;
}
CS5530_CLK=0; if( (value & 0x04) ==0x04)//OV goto REPEATREAD ; return((value >>8) & 0xffffff);
}
4.結論
電子產品發(fā)展速度快,生產量大,采用高集成度芯片,可 以提高穩(wěn)定性,降低生產成本,本論文采用CS5530設計的電 子秤,穩(wěn)定性好,生產成本低,具有廣闊的應用前景。