求AMC7823初始化时序
求AMC7823初始化时序,调试很久还是没有进展 不知道,请问哪位知道可以更多的了解这个芯片的,网上自由pdf,根据上面的叙述,AMC7823没有反馈信息
楼主,
你好!
TI没有提供AMC7823专门的初始化程序。方便的话可以把你的初始化程序贴上来讨论一下。另外,建议检查一下主机SPI接口的信号是否正常
BR,
Mike Wang
那怎么调试这个芯片的,总得有个参考,呵呵,我有我看到有dome 板 不知道怎么调试的
我有了2种一种是硬件SPi,控制器是8位的
初始化配置 SPI 速度62KHZ CPOA=1 CPOL=0
Write_Cmd(ADD_AMC_config);
Write_data(0x00A0);
Write_Cmd(ADD_PWR_Down);
Write_data(0xFFA0);
Write_Cmd(ADD_PWR_Down);
/////////
void Write_Cmd(uint16_t Add)
{
CS_Enable;
bcm2835_spi_transfer(Add>>8);
bcm2835_spi_transfer(Add);
CS_Disable;
}
/////////
第二种是模拟
void Write_One_word(uint16_t data)
{
uchar i;
CS_Enable();
for(i=0;i<16;i++)
{
SCLK_SET();
if(data&0x8000)
{
MOSI_SET();
delay_us(2);
}
else
{
MOSI_CLR();
delay_us(2);
}
data=data<<1;
SCLK_CLR();
delay_us(2);
}
CS_Disable();
}
/////////pdf写到
For example, to read the register with address 0x00 on page 0, the host processor must send the AMC7823 the
command 0x8000; this command specifies a read operation on page 0, address 0. After sending the command,
the host reads one data word. To read the registers 0x02 to 0x07 on page 0 (ADC Data-2 to ADC Data-7), the
host must send 0x8087 first, and then clock six data words sequentially out of the AMC7823. The first data word
is from 0x02, the second from 0x03, and the sixth from 0x07. If the host continues clocking data out after reading
the last location [EADR4:EADR0], the value 0x0000 is output until the operation stops. However, if the host
deactivates SS before reading the last register, the operation is terminated and all remaining registers are
ignored.
你好
TI有demo板,如果你用TI的demo板调试的话,会有相应的GUI软件,带图形化界面,不需要自己挨个配置寄存器了,是会方便很多
建议楼主用示波器检查一下SPI口出来的信号是否和程序中的所需要的相同
BR,
Mike Wang
我想知道GUI图形化界面是怎么初始化配置的,我看下我的思路是不是对的,时序是正确的我用示波器看了,发送的数据没啥问题,之后AMC没有反应
楼主你好,
GUI软件也是通过demo板上的MCU对AMC进行配置的(SPI口).
请检查:
1.AMC的片选引脚有没有保持置低
2.在写寄存器之前,先要发送一个写指令,不知道Write_Cmd(ADD_AMC_config)这句话是否包含了写指令
即,请确认在发送0x00A0之前有没有发送相应的write command
BR,
Mike Wang
你们这边有GUI对AMC的步骤不,就是发哪些命令的,顺序是怎么发的,Write_Cmd(ADD_AMC_config)这是对 #define ADD_AMC_config 0x128A 就是配置读这个寄存器,我看了时序是这么理解的,不知道你说的“请确认在发送0x00A0之前有没有发送相应的write command”这个是什么意思能否举个例子
你好,
我没有GUI的内部指令
你在写Write_data(0x00A0);之前,先用SPI发送了0x128A,这就是我说的write command,那这个语句应该是没有问题的
楼主可以检查下datasheet中提到的其他寄存器,看是不是漏了配置其中某个
我买了一块你们的demo板AMC7823, 怎么检测这个东西是好的