无论写什么嵌入式软件,我们都应该首先对硬件有所了解,这样更有助于我们写出高效精简的程序代码。本次活动我们使用的硬件平台是有悠龙公司提供的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的接口,不多言了。

以上便是对硬件电路部分的讲诉,有些不清楚的地方还需学习分析。如果对电路有疑问请参考EM_SAM3S_SCH.pdf和EB-SAM3S4C_Usermanual.pdf,或者在帖子上评述,让大家一起讨论解决。谢谢您的阅读,希望您能够留下宝贵的建议意见,谢谢!

uTenux\AT91SAM3S4C开发套件———硬件电路介绍的更多相关文章

  1. TI 77GHZ雷达开发套件 RDP-DC100

                                        RDP-DC100用户使用手册           目录 1.      硬件说明... 3 1.1.      官方处理板的修 ...

  2. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...

  3. 如此繁荣的移动webapp开发市场:总结当下的一些移动web开发套件

    写在前面: 因为移动市场的盛行带动了移动社交.移动购物.手游.智能化硬件等多个新兴领域.智能终端硬件水平越来越高,运行其上的web浏览器能力也越来越强,加上HTML5\JS\CSS的蓬勃发展,Web已 ...

  4. HarmonyOS 润和 HiSpark开发套件 免费领!

    让人期盼已久的HarmonyOS 2.0终于在9月10日正式上线啦! 这是一件让众多开发者关注的大事件! 相信不少开发者都已经迫不及待的想上手实操了, 为了满足大家的好奇心, 也希望能有更多开发者了解 ...

  5. 全球首个全流程跨平台界面开发套件,PowerUI分析

    一.       首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...

  6. Xamarin Anroid开发教程之Anroid开发工具及应用介绍

    Xamarin Anroid开发教程之Anroid开发工具及应用介绍 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Andro ...

  7. 旨在脱离后端环境的前端开发套件 - IDT Server篇

    IDT,一个基于Nodejs的,旨在脱离后端环境的前端开发套件,目的就是能让前端开发完全脱离后端的环境,无论后端是什么模板引擎(主流),都能应付自如. IDT主要包括两大部分:Server + Bui ...

  8. 旨在脱离后端环境的前端开发套件 - IDT之Server篇

    IDT,一个基于Nodejs的,旨在脱离后端环境的前端开发套件,目的就是能让前端开发完全脱离后端的环境,无论后端是什么模板引擎(主流),都能应付自如. IDT主要包括两大部分:Server + Bui ...

  9. BitAdminCore框架应用篇:(三)核心套件querySuite入门介绍

    索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/coo ...

随机推荐

  1. 夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

    我们基于刚才在model层的找顶级分类的代码在进行修改即可: <?php namespace Home\Controller; use Think\Controller; class Commo ...

  2. 【水题】NOIP201504推销员

    NOIP201504推销员 [问题描述]   阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 ...

  3. tomcat支持的websocket服务

    首发:个人博客 在tomcat7之后的版本,写个websocket服务程序非常容易——如以下代码所示,当客户端建立了一个连接并发送了一些什么内容到服务器,服务器将每隔两秒返回一个字符串“world”. ...

  4. wxPython_Phoenix在线安装

    转自:http://blog.csdn.net/xiaodong193/article/details/51920283 wxpython在python 3.X下变成了wxpython Project ...

  5. zabbix监控nginx

     nginx status详解 active connections – 活跃的连接数量server accepts handled requests — 总共处理了11989个连接 , 成功创建11 ...

  6. oracle 创建表空间用户

    1.创建普通表空间和用户 //创建临时表空间create temporary tablespace oa_temptempfile 'D:\app\Administrator\oradata\orcl ...

  7. Pascal's Triangle

    class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector< ...

  8. Keepalived原理及配置应用总结

    Keepalived——保持存活,在网络里的含义就是保持在线.Keepalived提供高可用和热备的功能,用来防止单点故障的发生. 1.VRRP协议基本原理介绍 Keepalived实现的基础是VRR ...

  9. AtomicInteger类保证线程安全的用法

    J2SE 5.0提供了一组atomic class来帮助我们简化同步处理.基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增.减.赋值(更新)操作 ...

  10. JavaScript中创建类,赋值给ajax中的data参数

    缘由:因为要给根据是否选中checkbox来动态增加ajax中data的属性(ajax的data属性格式的几种方法,参考http://www.jb51.net/article/46676.htm) d ...