5313|19

39

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【TM4】有关TM4的AHB总线 [复制链接]

 
有几点疑问希望论坛内的前辈指教一下
(我使用的是TM4C123GH6PM)
1、SysCtlGPIOAHBEnable函数的参量,根据sysctl.h里的定义,extern void SysCtlGPIOAHBEnable(uint32_t ui32GPIOPeripheral);
参数应该是类似于SYSCTL_PERIPH_GPIOF,还是类似于GPIO_PORTF_BASE的宏定义?

2、我试着参量使用GPIO_PORTF_BASE,来实现将PF系列的IO口挂在AHB总线上,IO翻转速率和未挂在AHB总线上时速率相同。根据datasheet上介绍的挂在AHB总线上IO口翻转速率应该是未挂时的两倍,然而却没有得到应该有的结果。(难道是我初始化函数中使用的参量使用错了吗?)


3、我看hw_memmap.h头文件中有GPIO_PORTF_AHB_BASE这些定义,请问这些定义是在什么情况下用到的呢?


最新回复

  详情 回复 发表于 2017-6-6 17:09
 
点赞 关注

回复
举报

39

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
调代码目前的进展
挂载到AHB总线代码(疑似挂上?)
挂在APB总线代码


/*******************************分割*********************************/
很简单的程序,但是IO翻转频率是相同的,测得为600ns,不知哪里出错了,求前辈指点
 
 

回复

165

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
其它我不懂,但你的600ns应该取决于那两行C代码的效率

点评

按照DATASHEET上介绍的,如果挂在AHB总线上,IO翻转速率应该是普通情况下的两倍,如下图[attachimg]248667[/attachimg]可是我实验的结果并不像DATASHEET上说的那样,我也不确定是哪里出了问题  详情 回复 发表于 2016-7-15 16:55
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

4
 
EETUX 发表于 2016-7-15 15:41
其它我不懂,但你的600ns应该取决于那两行C代码的效率

按照DATASHEET上介绍的,如果挂在AHB总线上,IO翻转速率应该是普通情况下的两倍,如下图 可是我实验的结果并不像DATASHEET上说的那样,我也不确定是哪里出了问题

点评

IO翻转速率肯定不是指软件上的. GPIOPinWrite 用 *((volatile unsigned int*)0xXXXXXXXX)=XXXXXXXX 替换,或者干脆用汇编(设置好r0,r1,...,循环就store指令...) 肯定比这库函数调用快...  详情 回复 发表于 2016-7-15 17:18
 
 
 

回复

165

帖子

0

TA的资源

一粒金砂(中级)

5
 
请给我C代码 发表于 2016-7-15 16:55
按照DATASHEET上介绍的,如果挂在AHB总线上,IO翻转速率应该是普通情况下的两倍,如下图可是我实验的结果 ...

IO翻转速率肯定不是指软件上的.
GPIOPinWrite 用 *((volatile unsigned int*)0xXXXXXXXX)=XXXXXXXX
替换,或者干脆用汇编(设置好r0,r1,...,循环就store指令...)
肯定比这库函数调用快...

点评

谢谢你的回答。不过我还是对AHB总线这个东西怎么使用有点困惑,还有DATASHEET上说AHB总线的翻转速率是APB总线翻转速率的两倍不是太理解,可以解释一下吗?  详情 回复 发表于 2016-7-15 18:56
 
 
 

回复

1950

帖子

4

TA的资源

版主

6
 
楼主,你好。

看了TM4的手册了,的确物理上GPIO的模块,AHB和APB总线都挂上了。
手册里面也说用APB的话,两个中才传递一次,AHB的话一个种一次。
总线上是这样。

可是你如果不是连续读写这个效果你体验不到那么明显。

点评

那该怎么连续读写呢?挂在AHB总线上的IO口输出高低电平然后用示波器去读吗?  详情 回复 发表于 2016-7-15 19:03
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

7
 
EETUX 发表于 2016-7-15 17:18
IO翻转速率肯定不是指软件上的.
GPIOPinWrite 用 *((volatile unsigned int*)0xXXXXXXXX)=XXXXXXXX
替 ...

谢谢你的回答。不过我还是对AHB总线这个东西怎么使用有点困惑,还有DATASHEET上说AHB总线的翻转速率是APB总线翻转速率的两倍不是太理解,可以解释一下吗?
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

8
 
5525 发表于 2016-7-15 18:55
楼主,你好。

看了TM4的手册了,的确物理上GPIO的模块,AHB和APB总线都挂上了。
手册里面也说用APB的话 ...

那该怎么连续读写呢?挂在AHB总线上的IO口输出高低电平然后用示波器去读吗?
 
 
 

回复

1950

帖子

4

TA的资源

版主

9
 
1 APB 选定一个base adr,指定他读上16个4Byte,翻转一下一个GPO
2 AHB 选定一个base adr,指定他读上16个4Byte,翻转一下一个GPO
比较上面的波形,说不定能看到 "效果"

点评

按照你说的做了一遍,还是没有理想的效果。然后又陆续做了几个实验,包括把一些模块挂在AHB总线和普通情况下对比,发现挂在AHB总线和APB总线的时序没有什么区别。现在对AHB总线的作用也有了很多疑问。 我们这个论坛  详情 回复 发表于 2016-7-16 12:38
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

10
 
5525 发表于 2016-7-15 19:06
1 APB 选定一个base adr,指定他读上16个4Byte,翻转一下一个GPO
2 AHB 选定一个base adr,指定他读上16个4B ...

按照你说的做了一遍,还是没有理想的效果。然后又陆续做了几个实验,包括把一些模块挂在AHB总线和普通情况下对比,发现挂在AHB总线和APB总线的时序没有什么区别。现在对AHB总线的作用也有了很多疑问。
我们这个论坛好冷清啊,这几天回复也没几个,是因为玩TM4的人不多吗
 
 
 

回复

1950

帖子

4

TA的资源

版主

11
 
白天有事 ,晚上回去查查

点评

好的,谢谢  详情 回复 发表于 2016-7-16 14:51
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

12
 
5525 发表于 2016-7-16 13:28
白天有事 ,晚上回去查查

好的,谢谢
 
 
 

回复

1950

帖子

4

TA的资源

版主

13
 
楼主,你好,我找了下AHB的资料。截图了,如图,AHB本来就是支持连续传送的
http://www.eecs.umich.edu/course ... A_AHB-Lite_SPEC.pdf

AHB BURST.png (226.15 KB, 下载次数: 0)

AHB BURST.png

AHB MASTER.png (91.44 KB, 下载次数: 0)

AHB MASTER.png

AHB MODE.png (109.36 KB, 下载次数: 0)

AHB MODE.png
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

1950

帖子

4

TA的资源

版主

14
 
相反,APB本来就是为慢速设备准备的。如图,APB总线里面两个 BURST信号都没有,而且没有等待还要两个钟才传递一个数据。
https://web.eecs.umich.edu/~prab ... s/ARM_AMBA3_APB.pdf

所以,才AHB和APB的时钟频率一样的时候,硬件上AHB比APB要快,这个必然的。
但是 你软件能控制到什么什么程度,我就不好说了。

APB write.png (73.91 KB, 下载次数: 0)

APB write.png

点评

谢谢你这么详细的回答,我也想了想,有可能是因为我这个代码要实现的功能比较简单,编译器在编译过程中如何工作的我也不清楚,可能如果按照TI官方的说法,在和CPU、DSP通信的时候,AHB就能体现出他的价值了。 顺便  详情 回复 发表于 2016-7-17 15:39
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

15
 
5525 发表于 2016-7-16 15:24
相反,APB本来就是为慢速设备准备的。如图,APB总线里面两个 BURST信号都没有,而且没有等待还要两个钟才传 ...

谢谢你这么详细的回答,我也想了想,有可能是因为我这个代码要实现的功能比较简单,编译器在编译过程中如何工作的我也不清楚,可能如果按照TI官方的说法,在和CPU、DSP通信的时候,AHB就能体现出他的价值了。
顺便提一句,你找的这份资料也真的是很有帮助,我在网上也没有查到这么详细的资料,请问你怎么找到这份资料的呢?
 
 
 

回复

1950

帖子

4

TA的资源

版主

16
 
搜索引擎:Google
关键词: AHB bus timing
关键词: APB bus timing

出来的东西会比较多,正常看ARM官方的。
然后就是找你要的那个 物理时序上的差异

点评

受教了,非常感谢  详情 回复 发表于 2016-7-17 17:05
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

17
 
5525 发表于 2016-7-17 16:50
搜索引擎:Google
关键词: AHB bus timing
关键词: APB bus timing

出来的东西会比较多,正常看ARM官 ...

受教了,非常感谢
 
 
 

回复

1950

帖子

4

TA的资源

版主

18
 
如果对硬件开发感兴趣,可点击这里

EEWORLD大学堂----FPGA入门到实践(至芯尤老师主讲)
https://bbs.eeworld.com.cn/thread-494279-1-1.html

[资料分享] 用FPGA采集OV7670图像,VGA显示 有代码
https://bbs.eeworld.com.cn/thread-495043-1-1.html

点评

好的,最近在忙电赛,结束后就学习一下  详情 回复 发表于 2016-7-17 17:15
 
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

19
 
5525 发表于 2016-7-17 17:13
如果对硬件开发感兴趣,可点击这里

EEWORLD大学堂----FPGA入门到实践(至芯尤老师主讲)
http://bbs.ee ...

好的,最近在忙电赛,结束后就学习一下
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

20
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表