📄 tlv1544.txt
字号:
TLV1544与TMS320VC5402通过串行口连接,此时,A/D转换芯片作为从设备,DSP提供帧同步和输入/输出时钟信号。TLV1544与DSP之间数据交换的时序图如图3所示。
开始时, 为高电平(芯片处于非激活状态),DATA IN和I/OCLK无效,DATAOUT处于高阻状态。当串行接口使CS变低(激活),芯片开始工作,I/OCLK和DATAIN能使DATA OUT不再处于高阻状态。DSP通过I/OCLK引脚提供输入/输出时钟8序列,当由DSP提供的帧同步脉冲到来后,芯片从DATA IN接收4 b通道选择地址,同时从DATAOUT送出的前一次转换的结果,由DSP串行接收。I/OCLK接收DSP送出的输入序列长度为10~16个时钟周期。前4个有效时钟周期,将从DATAIN输入的4 b输入数据装载到输入数据寄存器,选择所需的模拟通道。接下来的6个时钟周期提供模拟输入采样的控制时间。模拟输入的采样在前10个I/O时钟序列后停止。第10个时钟沿(确切的I/O时钟边缘,即上升沿或下降沿,取决于操作的模式选择)将EOC变低,转换开始。
/*------------------TLV1544------------------------------------*/
void init_1544() /*初始化1544口线*/
{
CS_AD = 1;
SO = 1;
SI = 1;
SCK = 1;
}
void write_1544(u8 a) //
{
u8 g;
u8 b=0x08;
SCK=0;
CS_AD=0;
g=0;
for (g=0;g<10;g++)
{
SCK=0;
SI=(bit)(a&b);
b>>=1;
SCK=1;
}
SO=1;
CS_AD=1;
}
u16 read_1544(u8 a)
{
u8 g;
u8 b=0x08;
u16 r_data=0; /*返回转换结果*/
SCK=0;
CS_AD=0;
g=0;
for (g=0;g<10;g++)
{
r_data<<=1;
SCK=0; //时序
SI=(bit)(a&b);
b>>=1;
SCK=1; //时序
if(SO == 1)
r_data++;
}
SI=1;
CS_AD=1;
return r_data;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -