无论写什么嵌入式软件,我们都应该首先对硬件有所了解,这样更有助于我们写出高效精简的程序代码。本次活动我们使用的硬件平台是有悠龙公司提供的uTenux\AT91SAM3S4C开发套件,在悠龙公司的主页可以找到该开发板的电路图以及对应的说明文档。
打开电路图,第一页是对uTenux\AT91SAM3S4C开发板的整体结构介绍。该开发板是以ATMEIL公司的Cotex M3处理器 ASM3S(100脚)为核心控制器的。在控制器周围连接有相当多的外设,足够我们学习开发,另外悠龙公司也提供了对应的底层板级支持包,在编程控制方面,我们可以直接那来参考应用。
UTenux\AT91SAM3S4C开发板板载的外设单元有AT91SAM3S4C的复位和调试接口单元、音频信号接口单元、USB文件系统单元、RS232\RS485接口单元、AD采样单元、电源管理单元、TFT-LCD显示单元、SD卡数据存储单元、NAND-Flash单元、Q-Touch接口单元、ZigBee接口单元。以上这些硬件资源都是比较常用的,足以让我们学习利用了。
01、AT91SAM3S4C核心电路:
核心电路首先需要我们主要的是这部分的供电问题,具体如下图所示,当你看到这部分电路的时候也许会感到怀疑,对于一般的处理器直接共3.3V的电源就可以了这里为什么会有一个VDDOUT呢?他是何处神圣呢?
请您不要奇怪,等你看了AT91SAM3S4C的数据手册电源部分的时候你就懂了,AT91SAM3S4C内部自带了电源调节模块,其结果如下图所示。所以您如有疑问,请详细阅读数据手册。
除了电源,我们还需要注意的就是我们为AT91SAM3S4C提供的外部晶体是12MHz的,另外还有用于RTC的32.768kHz的晶体。其他的就是内部ADC的模拟输入,2.5V\3.3V可已通过跳线选择,其他的引脚外扩就不在详细讲诉了,等用到时再细看。
02、复位调试接口
复位电路采用简单的按键将复位引脚拉低即可,而调试接口采用的是标准的JTAG接口,所以也没有什么特别之处,故而这一小节略过。
03、音频接口单元
上图是uTenux\AT91SAM3S4C开发板的音频放大处理电路,用于可以通过跳线帽调节放大增益,具体电路参考其数据手册即可。
04、USB文件系统
因为AT91SAM3S4C内部由USB-OTG接口功能,所以外部只需将对应脚引出,参考数据手册即可。
05、 RS232\RS485接口
接下来的几部分电路我就不做详细的讲解了。RS232\RS485接口还有CAN总线接口都是用于工业控制的,而对于我们的学习,我们接触最多的还是RS232,所以我们要多加注意,至于电路细节看芯片手册即可。
06、 AD接口
这部分电路就是一个电位器分压,共处理器内部的ADC采集。不多言了。
07、 电源管理单元
任何一个系统,稳定的电源是系统稳定工作的保障。在uTenux\AT91SAM3S4C开发板上,设计者将模拟部分的电源和数字部分的电源分离开供电,保证了系统更好的稳定性,这一点值得我们学习。
08、 TFT-LCD单元
TFT-LCD液晶模块是我们的GUI,我们要注意其于用户的友好性。设计者对这一点的考虑很不错。该液晶配有背光调节电路,触摸控制电路,具体电路原理可参考数据手册。
09、 TF卡单元
TF卡单元是后期数据存储和文件系统建立的核心,其电路就不多言了。
10、 Nand Flash
NandFlash电路直接参考数据手册吧。
11、 Q-Touch单元
之前我用STM32做过类似触摸板,用了两种方法,分别是用STM32内部定时器触发检测和用TS04电容检测芯片。其中应用TS04芯片相对容易,而且性能稳定。至于uTenux\AT91SAM3S4C上面的Q-Touch,我还是不甚了解,不过看了Atmel在这方面的设计,还是很不错的,值得学习。
12、 ZigBee单元
这一部分只留了ZigBee的接口,不多言了。
以上便是对硬件电路部分的讲诉,有些不清楚的地方还需学习分析。