STM32驱动并行式DAC,数据更新速率能否做到10M?

2019-03-23 18:44发布

可能我说的还不够清楚,是这样的:
用STM32驱动AD904E(一款14位并行式DAC,即送数到IO口即可得到模拟量),
时序方法是
时钟线低电平->内存取数->送数到IO口->时钟线高电平
我用库函数编写驱动,数据更新率做到1.3MBaud左右
昨晚用汇编编写,可能不是一条指令一个时钟周期,才能做到3.2MBaud左右
附上代码,求大神优化建议(如能否使用DMA、半字能否提高速度、Thumb指令能否提高速度等),非常感谢!


GPIOA_ODR  EQU 0X4001080C  ;GPIOA输出,偏移地址0Ch
GPIOB_ODR  EQU 0X40010C0C  ;GPIOB输出,偏移地址0Ch
HIGH    EQU 0XFFFFFFFF  ;时钟线高电平
LOW     EQU 0X00000000  ;时钟线低电平
  AREA TEST,CODE,READONLY
  EXPORT run
run  LDR R6,=GPIOA_ODR
  LDR R7,=GPIOB_ODR
  LDR R8,=HIGH
  LDR R9,=LOW
  LDR R10,=datatable
  ADD R11,R10,#8;4*2=8
  MOV R5,R10
loop STR R9,[R7]
  LDR R12,[R10],#4
  STR R12,[R6]
  STR R8,[R7]
  CMP R10,R11
  MOVEQ R10,R5
  B loop
  NOP
datatable DCD 0x00000000,0xFFFFFFFF
  NOP
  NOP
  END
  1. <FONT color=rgb(68,68,68)></FONT>
复制代码






此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
NPY
1楼-- · 2019-03-24 17:27
fxyc87 发表于 2015-1-26 17:07
还是用单片机》SPI>cpld解决吧,一个CPLD8元就解决,EMP240

大神能否给个淘宝店的链接?成本比较敏感,查了都是开发板……



hzmsn
2楼-- · 2019-03-24 19:59
 精彩回答 2  元偷偷看……
fxyc87
3楼-- · 2019-03-24 22:15
NPY 发表于 2015-1-27 12:55
大神能否给个淘宝店的链接?成本比较敏感,查了都是开发板……

http://www.szlcsc.com/product/details_10577.html 立创商城,我在这里买过,



一周热门 更多>