打印
[Atmel]

【秀出我的Atmel设计方案】+AT90CAN128-8AU

[复制链接]
1004|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjbwxl|  楼主 | 2014-11-16 19:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
该项目为数字麦克风通道测试板,采用了Atmel的AT90CAN128单片机,实现对数字麦克风的电流测试,CAN通讯,灵敏度测试等。上位机采用LabVIEW编写,与数字麦克风测试板通过CAN实现通讯,该通道板通过串口与自动分拣机的PLC通讯,实现测试与分拣的协同工作。原理图、PCB图及数据采集部分模块源程序见下图。

原理图




PCB图片


#include "adc.h"
#include "math.h"
#include "sys.h"
#include "uart0.h"


void InitInternalADC(void)
{
}

char Readdata(float *pVal)
{
    U32 sdata;

    ADC_CS = 0;

    asm("nop");//
    while(1)
    {
       ADC_CLK = 0;
       asm("nop");
        asm("nop");

       ADC_CLK = 1;
       asm("nop");
        asm("nop");

       if(ADC_SDA == 0) break;
    }
    sdata = 0;
    for(U8 i = 0;i < 16;i++)         //连续读入16位数据                 
    {
       sdata <<= 1;
       ADC_CLK = 0;
       asm("nop");
       asm("nop");

       ADC_CLK = 1;
       if(ADC_SDA == 1)
       {
           sdata |= 0x1;
       }
       asm("nop");
       asm("nop");   
    }

    ADC_CS = 1;
    sdata &= 0xffff;
    *pVal = ((float)sdata*4096)/65536;

    return 1;


}       


char GetADCResult(float *pVal)                    
{
    float fMin,fMax;
    float fADC,fSum = 0.0;

    PORTD_Bit0 =0;
    fMin = 99999.0;
    fMax = 0.0;
    for( U16 i = 0;i <1002;i++)              
    {
        // Delayms(1);
        PORTD_Bit0 ^= 1;
        while(!Readdata(&fADC));
        fADC = fabs(fADC-2547.00);   //2547
        if(fADC < fMin) fMin = fADC;
        if(fADC > fMax) fMax = fADC;
        fSum = fSum + fADC*fADC;
        //fSum = fSum + fADC;


    };

    *pVal = sqrt((fSum - fMax*fMax - fMin*fMin  ) / 1000);
     //*pVal = (fSum - fMax - fMin  ) / 1000;



    return 1;                    //取30次ADC转换的平均电压
}

以上是测试板中数据采集的部分程序。

以前此通道板为外部采购,价格昂贵,且后期维护升级成本较高。通过前期的调研和试验,决定采用Atmel CAN系列的单片机,通过后期的研发和试制,发现不管是在测试采集速度,通讯,稳定性,灵敏度,均能达到要求,且成本较外购低很多,适合大批量生产,结果证明,定型后的通道板在麦克风自动化测试线上使用效果很好,得到客户的高度评价。
这次项目也是第一次接触Atmel的单片机,且在项目中取得很好的效益,以后还会继续使用和关注Atmel的MCU产品。




相关帖子

沙发
ddllxxrr| | 2014-11-16 20:35 | 只看该作者
不错顶个

使用特权

评论回复
板凳
chen_jhhb| | 2014-11-16 20:46 | 只看该作者
赞一个

使用特权

评论回复
地板
slotg| | 2014-11-16 20:55 | 只看该作者
不错,感谢分享

使用特权

评论回复
5
johnrey| | 2014-11-16 21:26 | 只看该作者
都是牛人啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

42

帖子

1

粉丝