PSOC,DMA

[复制链接]
 楼主| tian111 发表于 2012-6-7 20:16 | 显示全部楼层 |阅读模式
DMA, PSOC, rc, RS, ST
看DMA的数据手册的时候看到两个参数不是很明白,有点混淆,请高手指点明津,Burst count和Transfer count,谢谢了!
gongche 发表于 2012-6-7 20:21 | 显示全部楼层
没遇到过,帮顶吧
 楼主| tian111 发表于 2012-6-7 20:23 | 显示全部楼层
我看到手册里的这么一句话“For example, if you want to move 100 bytes of data from a 16-bit peripheral to a memory buffer, the burst count is set to 2 and transfer count is set to 100.”为什么要把“burst count ”设置为“2”呢?
huanghuac 发表于 2012-6-7 20:26 | 显示全部楼层
因为要传16-bit data啊, 一个burst 8-bit.
 楼主| tian111 发表于 2012-6-7 20:28 | 显示全部楼层
这些天光看DMA,就是这两个参数搞的不是很明白。“burst count ”可以根据要传输的数据的大小随意设置吗?
wenfen 发表于 2012-6-7 20:30 | 显示全部楼层
什么意思
 楼主| tian111 发表于 2012-6-7 20:32 | 显示全部楼层
比如传输一位的数据,就可以设置为“1”,16位的数据可以设置成“8”,可以设置成“16”吗?
wenfen 发表于 2012-6-7 20:33 | 显示全部楼层
没关注过。。。
 楼主| tian111 发表于 2012-6-7 20:35 | 显示全部楼层
哦,水知道"Burst count和Transfer count"是什么关系啊
PSoC小子 发表于 2012-6-7 22:58 | 显示全部楼层
举一个例子来理解, DMA 的常规应用之一是将 ADC 的转换结果传送到 SRAM(某个数组), 假设我们的 DelSig ADC 的分辨率设为 16bit, 现在想用 DMA 将 100 个 ADC 转换结果(16bits = 2 bytes) 传送到内存数组 uint16 Array[100].
DMA 要完成上述操作, 一个方法就是每次从 ADC 的结果寄存器读取 2bytes 的转换结果传送到内存, 一共传送 100 次。 在这种配置下,我们就需要将 Burst count 设为 2(代表 DMA 一次传送的字节数, 这里 ADC 的转换结果是 2bytes, 所以应该设为 2); Transfer count 设为 200 (代表 DMA 这个 TD 一共传送的 数据量总数 100 * 2bytes = 200 bytes, 所以应设为 200)
PSoC小子 发表于 2012-6-7 23:06 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| tian111 发表于 2012-6-7 23:38 | 显示全部楼层
多写楼上详细的解答~~~
 楼主| tian111 发表于 2012-6-7 23:38 | 显示全部楼层
要是是中文的图标就更好了,哈哈,开玩笑滴^_^
PSoC小子 发表于 2012-6-8 00:17 | 显示全部楼层
我想写中文来着,可我的XP系统是英文版的,可能没装中文字库,打出来都是乱码。
liudianlingliu 发表于 2012-6-8 15:44 | 显示全部楼层
111111111111111
Go_PSoC 发表于 2012-6-9 21:40 | 显示全部楼层
图配文,很清晰
fengyiyong 发表于 2013-12-1 19:34 | 显示全部楼层
PSoC小子 发表于 2012-6-7 22:58
举一个例子来理解, DMA 的常规应用之一是将 ADC 的转换结果传送到 SRAM(某个数组), 假设我们的 DelSig A ...

解答了我一直的问题、
fengyiyong 发表于 2013-12-1 20:19 | 显示全部楼层
PSoC小子 发表于 2012-6-7 23:06

我想追问个问题、关于那个SRAM的destination是怎么设置的、是可以设置一个uint8的变量,然后直接将想存储的0x..的地址赋给变量、这样么、还有就是如果想将SRAM的数据在通过UART读取、是有UART的什么API函数么、THX
jxin 发表于 2013-12-4 15:14 | 显示全部楼层
fengyiyong 发表于 2013-12-1 20:19
我想追问个问题、关于那个SRAM的destination是怎么设置的、是可以设置一个uint8的变量,然后直接将想存储 ...

第一个理解是对的,就是定义一个变量,然后直接存储。 怎样用UART读变量的值,可以参照UART example project, Creator > File > Example Project.
yangguangaisha 发表于 2013-12-21 12:16 | 显示全部楼层
楼上大神 膜拜ing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部