完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
12 个讨论
|
|
|
你好,可以的,控制不同寄存器即可,参见手册12页
The 16-bit data word consists of two parts: · Address bits (D150D12) · Data bits (D110D0) D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A3 A2 A1 A0 DATA Register Map A3 A2 A1 A0 FUNCTION 0 0 0 0 DAC A 0 0 0 1 DAC B 0 0 1 0 DAC C 0 0 1 1 DAC D 0 1 0 0 DAC E 0 1 0 1 DAC F 0 1 1 0 DAC G 0 1 1 1 DAC H 1 0 0 0 CTRL0 1 0 0 1 CTRL1 1 0 1 0 Preset 1 0 1 1 Reserved 1 1 0 0 DAC A and B 1 1 0 1 DAC C and D 1 1 1 0 DAC E and F 1 1 1 1 DAC G and H 12 |
|
|
|
|
|
|
|
|
主程序对于地址的具体操作,以及操作结果如下,tlv5610 VCC=5V,tlv5610参考电源4096mV。 u_int DA_setting=0x03FF; dac_5610_init(); dac_5610(0x8000); //CTRL0 config,此步序执行完毕,tlv5610的8个通道输出为0. dac_5610(DA_setting);//此步序执行完毕,tlv5610的A,B通道输出约为1024mV,其他CDEFGH通道输出为0. |
|
|
|
|
|
|
|
|
现象与之前还是一样,写入0x0AFF,其他通道会得到一样的输出。
硬件检查过,没有连锡,代码如下。 void dac_5610_init() [ DALDAC=0; _nop_(); DAFS=1; _nop_(); DACLK = 0; _nop_(); ] void dac_5610(u_int data_in) [ u_char i; DAFS = 0; for (i=0;i<16;i++) [ DACLK = 1; DADIN = (bit)(data_in&0x8000); _nop_(); DACLK = 0; data_in <<= 1; _nop_(); ] DAFS=1; DACLK=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); DACLK=0; ] main() [ dac_5610_init(); while(1) [ delay(200); dac_5610(0x0AFF); ] ] |
|
|
|
|
|
|
|
|
tlv5610,参考电源为4.096v. 1.写0x00FF(即A通道写入FF),那么8个通道均输出0.258v,接着写入0x11FF(即B通道写入1FF),那么8个通道均输出0.515v. 即在没有设定某个通道power down mode的情况下,写入任何一个通道值,其余7个通道会得到相同的输出. 如果设定某个通道为power down,那么该通道输出为0. 2.写0xC0FF(即DAC A and /B),那么A,C,E,G通道输出为0.258v,B,D,F,H通道输出为3.827v. 具体代码如下. void dac_5610_init() [ DALDAC=1; _nop_(); DAFS=1; _nop_(); DACLK = 1; //Ti wanda _nop_(); ] void dac_5610(u_int data_in) [ u_char i; DACLK=0; //Ti wanda _nop_(); //Ti wanda _nop_(); _nop_(); _nop_(); _nop_(); DAFS = 0; for (i=0;i<16;i++) [ DACLK = 1; //_nop_(); //_nop_(); //_nop_(); //_nop_(); DADIN = (bit)(data_in&0x8000); _nop_(); _nop_(); _nop_(); _nop_(); DACLK = 0; data_in <<= 1; _nop_(); ] DAFS=1; DACLK=1; _nop_(); _nop_(); _nop_(); DACLK=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); DACLK=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); DALDAC=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); DALDAC=1; ] main() [ u_char i; dac_5610_init(); dac_5610(0xC0FF); //DAC A and /B A=0.258v,B=3.827v delay(200); dac_5610(0x00ff); //0.258v delay(200); dac_5610(0x11FF); //0.515v delay(200); ] 3.更换一片tlv5610,现象同上. 4.印刷电路板更换为自己手焊电路板,现象同上. 5.DALDAC常接地或者受控,在不同位置受控,现象同上. 6.查看波形,类似与之前提供波形,应当是满足资料手册的. 7.查看硬件,搭建最简单电路,只允许A通道接一电阻下地,其余不接外围电路,现象依旧. 综上,认为tlv5610 IC不能满足单路输出. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
545 浏览 0 评论
1609 浏览 0 评论
2045 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1507 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1331 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1723浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 16:41 , Processed in 1.202831 second(s), Total 84, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
290