• 正文
  • 相关推荐
申请入驻 产业图谱

AG32引脚的上下拉的实现及驱动能力设置

04/14 07:14
1157
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

对于MCU开发者,端口的上下拉再熟悉不过了。硬件的设计人员也会特别关注每一个引脚的上电默认电平。但是AG32的大部分端口在程序加载前是floating状态的。复位结束后,FPGA的配置程序开始从flash里加载,加载时间随着程序的大小略有区别,一般在20mS,也就是说,在上电复位后到端口上下拉起效,至少还有20多mS的不定状态。很多开发人员往往因为这短暂的20mS,导致系统无法启动,或者进入一个未知的状态。因此,一般建议设计人员对上电电平有要求的引脚外加适当的上下拉电阻。AG32内部的上下拉电阻的阻值在40k左右。

AG32的上下拉在ASF文件里配置,

比如给PIN96设置上拉:

set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to PIN_96

或者

set_instance_assignment -name CFG_KEEP -to PIN_96 2'b10 -extension

这两种方法效果一样,可以只用其中一种。如果两个都用,那就是同时用两个40k电阻上拉,相当于20k上拉。

如果给PIN96设置下拉,则使用以下方式:

set_instance_assignment -name CFG_KEEP -to PIN_96 2'b01 -extension

设置下拉就一种方法,也就是只能40k下拉。

从上面也可以看出,AG32的上下拉是通过改变CPLD里的配置来实现的。也就是说,AG32如果要动态改变上下拉,那就比较麻烦。MCU需要通过FCB接口(FPGA CONTROL BLOCK)来重新配置CPLD。AGM提供了官方例程,但是客户用的比较少,因此这里也不介绍了。如果有需要的,我们可以微信探讨。

同样,在某些场合,开发者需要增强端口驱动能力,以此来增加可靠性,增加抗干扰能力。这同样也在ASF文件里配置。

如增强PIN96的驱动能力到16mA:

set_instance_assignment -name CURRENT_STRENGTH -to PIN_96 16MA

驱动能力最高可以到32mA, 2mA一个step。

相比其它MCU, AG32在这方面设置起来的确麻烦一点,开发者需要注意一下。

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

AG32芯片供应商,提供技术支持,承接项目开发,20年嵌入式经验支持,欢迎探讨技术方案。