电子秤普遍出现于今天的工业应用上。电子秤制造商通常采用proprietary asics 去达到模拟前端的高精度和稳定度 ,不过有些设计也会选用标准产品高达23位有效精度类同定做的方案。电子秤设计最大的难题是如何混合多个负载元在使用上仍能保持极低噪声,而ti 推出的ads1230, ads1232和 ads1234就可配合到。。
ads1230的通过是一个精密的20位模数转换器(adc)。内置低噪声可编程增益放大器(pga),板载振荡器,精度20位∑-δadc,通过提供一个完整的桥式传感器的应用包括电子秤、应变计和压力传感器的前端解决方案。
低噪声pga具有增益为64或128,支持全面的±39mv或±19.5mv差动输入,分别。δ∑adc具有20位有效分辨率,由第三阶调制器和第四阶数字滤波器组成。两个数据速率的支持:10sps(有50hz和60hz的排斥)和80sps。ads1230通过可以由内部振荡器或外部时钟源时钟。偏移量标定进行点播,并通过可以放在低功耗待机模式或完全关闭掉电模式。所有的功能都通过专用引脚控制;有没有数字寄存器的程序。数据通过一个容易隔离的串行接口输出,该接口直接连接到msp430和其他微控制器。“通过提供一个采用tssop - 16封装和指定–40°c + 85°c.
以下是ads1230-ms430源程序代码,可以参考!
/********************************************************************************
*program name:ads1230.c
*function: driver for ads1230(ad)
*company: lsd co,ltd
*date: 2007-09-12
*修改: 15:07 2009-04-14,ljz
include:
long readad(void); //读ad,从数据线上读取ad输出的数据,可在查询或中断中调用
void offsetad(void); //失调校准,一般用来在启动ad后,进行一次ad校准
void initadline(void);//初始化ad控制线,在启动ad前调用
/**********************************************************************
ads1230
* 接口定义:dout《---》p2.0; sclk《---》p2.1; pdwn《---》p2.2 *
***********************************************************************/
#define ads_ie p2ie
#define ads_ifg p2ifg
#define ads_dir p2dir
#define ads_out p2out
#define ads_in p2in
#define ads_data_bit bit0 //ads_dout
#define ads_clk_bit bit1 //ads_clk
#define ads_pd_bit bit2 //ads_pdwn
#define ads_data_dir_in() ads_dir &= ~ads_data_bit;
#define ads_clk_dir_out() ads_dir |= ads_clk_bit;
#define ads_pd_dir_out() ads_dir |= ads_pd_bit;
#define ad_is_on (ads_out & ads_pd_bit)
#define ad_on() ads_out |= ads_pd_bit;
#define ad_off() ads_out &= ~ads_pd_bit;
#define ads_clk_h() ads_out |= ads_clk_bit;
#define ads_clk_l() ads_out &= ~ads_clk_bit;
#define ads_data_hi (ads_in & ads_data_bit)//ad_data输出位1
#define ads_data_not_ready (ads_in & ads_data_bit)//ad_clk输出位1
*********************************************************************************/
/*****************************************************************************
函数名称:readad(void)
功 能:读ad
入口参数:无
返回参数:ad的转换结果,为long型
使用资源:无
******************************************************************************/
long readad(void)
{
long addatatemp=0; //设置ad转换的初始值为0
for(uchar i = 0;i 《 20;i ++) //获取20位数据
{
ads_clk_h();
ads_clk_l();
addatatemp = addatatemp 《《 1;
if(ads_data_hi) //ad输出的数据位是1?
{
addatatemp ++;
}
}
for(uchar i = 0;i 《 4;i ++) //为下一次转换准备
{
ads_clk_h(); //ads_out |= ads_clk_bit;
ads_clk_l(); //ads_out &= ~ads_clk_bit;
}
return(addatatemp);
}
/*****************************************************************************
函数名称:void offsetad()
功 能:一个补偿函数,补偿ad1230的标尺误差
入口参数:无
返回参数:无
使用资源:无
******************************************************************************/
void offsetad()
{
while(ads_data_not_ready); //ad数据转换好?(ads_in & ads_data_bit)//ad_clk输出位1
for(uchar i = 0;i 《 26;i ++) //发送26个clk
{
ads_clk_h();
ads_clk_l();
}
}
/*****************************************************************************
函数名称:void initadline(void)
功 能:初始化ad控制线
入口参数:无
返回参数:无
使用资源:port2
******************************************************************************/
void initadline(void)
{
ads_data_dir_in(); // ads_dir &= ~ads_data_bit;
ads_clk_dir_out(); // ads_dir |= ads_clk_bit;
ads_pd_dir_out(); // ads_dir |= ads_pd_bit;
ads_clk_l(); // ads_out &= ~ads_clk_bit;
ad_off(); // ads_out &= ~ads_pd_bit;
}
华为将不再是小米的竞争对手?
中国移动发布了2020年PC服务器集中采购招标公告
丰巢受邀参展第三届数字中国建设峰会,展现数字化成果
光电传感器厂家的选择注意事项
一位30岁嵌入式工程师的深度总结
ads1230驱动程序
鉴别铜缆跳线好坏就看这四方面就行
24C02的秘密
开关稳压器怎样来设计pcb布局
风冷控制器的原理以及故障处理方式
智能手表哪家强?
盘古大模型个人能用吗 华为盘古ai个人可以用吗
英特尔OpenGL ES API中的新功能介绍
小米最新旗舰机 MIX 2S详细拆解教程
谷歌Chrome有默认为访客模式新功能
Electrocomponents plc成立全新全球科技公司 OKdo
工信部:推动人工智能、区块链等前沿技术部署和融合
雷达液位计和超声波液位计的区别
农业小型气象站有哪些技术参数?价格多少
苹果正在准备新一代iPod touch,一组苹果iPod Touch 7概念渲染图