电子发烧友网讯:电子发烧友网的读者在2012年上半年都在关注哪方面的技术趋势,哪些内容最受到工程师们的青睐?基于此,电子发烧友网将陆续整合推出各热门技术点设计方案精华集锦系列,本篇为《最受工程师喜爱的ARM设计方案精华集锦》,敬请关注后续系列。
基于ARM的远程无线视频监控系统设计
随着计算机、网络、通信技术的发展,以及多媒体视频技术的不断完善,基于网络的第三代远程网络视频监控系统取得了长足的发展。新一代的监控系统以网络为依托,以数字视频的压缩、传输、存储和播放为核心。系统采用嵌入式多任务操作系统、高效的视频压缩芯片和功能强大的嵌入式处理器,将视频压缩和传输处理工作全部内置到芯片上,前端摄像机送来的视频信号数字化后经过压缩、打包等过程变成基本网络协议的视频流,通过网络的传输,视频流发送到接收端。视频接收端可利用软件进行解码,在PC上进行显示和处理。
系统硬件平台
本系统是以PXA270为微处理器的ARM开发平台组成。PXA270是一个32位处理器,可在312MHz、416MHz、520MHz和624MHz这4种不同的时钟频率下运行。用在高性能、低功耗、便携、手持式的设备中。它加入了Intel Xscale技术,具有调节动态电压和频率以及完善的电源管理功能,提供了工业界领先的MIPS/mw性能。外接网卡接口与处理器直接连接,实现以太网通信,可利用TFTP协议对内核和根文件系统的映像进行快速下载。有3个UART分别是标准、蓝牙和全功能的UART,可以通过全功能UART与GPRS DTU相连接进行信号传输。3个USB接口,可以与USB摄像头相连接进行图像采集。USB摄像头采用的是以OV511为芯片的网眼V2000摄像头。
GPRS DTU是一款基于GPRS 网络的无线数据传输终端设备,提供全透明数据通道,网络覆盖范围广能使用移动电话的地方就可以使用支持数据透明传输与协议转换,支持备用数据中心,点对点互连功能,支持永远在线、空闲下线和空闲掉电3种工作方式,具有短信和电话唤醒功能,支持断线自动重连功能。
系统总体设计
整个监控系统主要是由ARM、GPRS DTU、USB摄像头和PC组成。ARM开发板以Linux操作系统编写驱动,通过指令调度利用USB摄像头进行图像采集,将采集好的图像通过GPRS DTU进行无线传输,PC与因特网相连接,接收到GPRS DTU传输过来的图像,通过VC++编写上位机,可以看到监控点传输的图像。操作人员可以通过短信或电话对监控端进行控制,可以使监控端随时处于工作或关闭状态,这样一来不仅可以随意对监控端进行控制还可以节省流量,经济实惠,特别适用于一些对动态图像要求不高的环境,系统结构框图如图1所示。
图1 系统结构框图
系统软件设计
本系统采用Linux为操作系统,它是一个多用户、多任务操作系统;具有良好的开放性,遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。具有完善的内置网络。Linux在通信和网络功能方面均优于其他操作系统。为用户提供了强大完善的网络功能。根据程序开发的需要对Linux操作系统进行裁减与编译,将制作好的Linux操作系统通过JTAG下载到ARM开发板里,就可以使用arm-linux对ARM开发板进行控制。
图像的采集是通过ARM-Linux调度Video4Linux和影像设备驱动程序来进行视频捕获。Video4Linux是Linux影像系统与嵌人式影像的基础,是Linux 内核里支持影像设备的一组API,Linux在多媒体上的应用是目前非常热门的研究领域,其中最关键的技术则是Linux的Video4Linux。在Linux内核中对Video4Linux进行配置,如图2所示。配置好以后通过bootloader下载到ARM-Linux里。USB摄像头使用的是OV511芯片的网眼V2000摄像头。在Linux操作系统里配置好OV511芯片的驱动,如图3所示。

图2 配置Video for Linux
摘 要:根据现代家居的发展需求,提出了一种智能家居系统的整体设计方案,以ARM11S3C6410为核心处理器,Linux嵌入式系统为家居总中心监控系统,使用Linux Qt完成了控制程序及人机界面的编写,采用GPRS通信技术完成了系统的远程通信及监控,组建基于ZigBee无线通信技术的系统内部网络,并完成了对家电的基于统一协议的控制,实现了家居的智能化。
0 引 言
随着网络技术和通信技术的不断发展以及人们对生活要求的不断提高,实现家庭智能的远程监控已经成为必然的趋势。国家建设部住宅产业化促进中心提出住宅小区要实现六项智能化要求,其中包括实行安全防范自动化监控管理:对住宅的火灾、有害气体的泄漏实行自动报警;防盗报警系统应安装红外或微波等各种类型报警探测器;系统应能与计算机安全综合管理系统联网;计算机系统能对防盗报警系统进行集中管理和控制。随着GPRS远程通信技术和短距离无线网络通信技术的不断发展和成熟,智能家居的监控技术也逐步成熟。GPRS网络通信业务是通信公司推出的一项数据传输通信业务,在GPRS网络覆盖区域内,传输距离不受限制,通信费用相对低廉,传输速率较快。Zig-Bee短距离无线通信技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。本文解决了家庭智能嵌入式系统、GPRS远程通信、ZigBee无线通信、家电解码及编码、家居控制协议等相关技术难点,分析了其各自基本特点和所要实现的基本功能,并在此基础上提出了基于Linux嵌入式系统和ZigBee网络及GPRS无线通信的智能家居系统的总体解决方案。
1 系统整体设计方案
智能家居网络指的是在一个家居中建立一个通信网络,将各种家电设备互相连接起来,实现对所有智能家居网络上设备的远程使用和控制及任何要求的信息交换,如音乐、门窗、电源、电视或数据等等。智能家居网络的构架包括家庭内部网络系统、智能家居控制器以及智能家居网络与外部网络之间的数据通信。其中,智能家居控制器是智能家庭网络的一个重要组成部分,起到核心的管理、控制和与外部网络通信的作用。它是通过家庭管理平台与家居生活有关的各种子系统有机结合的一个系统,也是连接家庭智能内部和外部网络的物理接口,完成家庭内部同外部通信网络之间的数据交换功能,同时还负责家庭设备的管理和控制。智能家居控制器一方面需要为家庭内部布线提供通信接口,采集家庭设备的信息,并进行处理、自动控制和调节;另一方面智能家居控制器作为家庭网关,也为外部提供网络接口,连通家庭内部网络和外部网络,使得用户可以通过GPRS网络等方式访问家庭内部网络,实现监视和控制。系统控制方案如图1所示。
图1 系统整体控制框图
本系统采用三星公司最新推出的ARM11S3C6410控制芯片为核心控制器,完成所有家庭内部数据的处理,包括数据的采集与控制命令的发出,是整个智能家居控制的核心,采用Linux嵌入式系统为家居总中心监控系统,能够自动运行、处理数据,通过串口管理、无线网络来控制各控制终端,并且中心控制器通过GPRS模块实现家庭系统与手机的通信,使用户可以通过短信方式实现家庭系统的远程控制,同时,控制器还采用10.3寸触摸屏为用户提供命令输入端,采用Linux Qt完成人机界面的编写,通过ZigBee无线通信协议完成家庭内部数据的传输,方便用户实现本地控制。控制终端为单片机组成的若干小的控制系统控制各家用设备,并通过控制总线将这些小的控制系统组成网络,连接到智能家居控制器,受智能家居控制器控制。
【详情参阅:基于Linux系统和ZigBee的智能家居系统方案】
基于ARM微处理器的液晶触摸屏接口设计
摘要: 作为人机交互的重要手段,液晶触摸屏使用越来越多,基于微控制器与触摸屏的接口技术在工业控制、智能家电等领域得到应用广泛,开发微控制器与液晶触摸屏的接口技术是智能电子产品设计的重要工作;介绍了一款液晶触摸屏系统的总体设计方案、电路接口和编程方法;该系统由T FT 液晶屏模块、触摸屏和ARM 微处理器控制板组成;TFT 液晶模块内置SSD1289 控制器,尺寸3.2 英寸、分辨率240×320 像素;触摸屏由触摸传感部件和触摸屏控制器ADS 7843 组成;控制板采用ARM7 微处理器LPC2148 为控制核心;测试和工程实践结果表明,所设计的软、硬件达到了各项要求,并且具有操作方便、稳定性好、性价比高等技术特点,有较好的推广应用价值。
0 引言
人机交互界面的种类较多,如键盘、数码管显示器、液晶显示器及带触摸的液晶屏等。决定人机交互接口方式的主要因素是成本和实际应用的需要。近十年来,液晶触摸屏以功耗低、重量轻、精度高和良好的人机界面等技术特点, 在电子设备特别是手持类电子产品中得到了普遍应用。带触摸的液晶屏,只要能测量出触摸点的坐标位置,即可根据屏上对应坐标点的显示内容或图符获知触摸者的意图, 通过微处理器处理声音、图像、文字及触摸输入控制等信息,使之成为能进行信息存取、输入和输出的集成系统。基于微控制器与液晶模块的硬件接口设计及软件编程在智能系统设计中有着重要的应用价值。ARM 微处理器,运算速度快、资源丰富、性价比高,是当前较为流行的嵌入式控制器。本文介绍的一款基于ARM7微处理器LPC2148 接口的3.2 寸液晶触摸屏,具有精度高、彩色显示逼真、应用灵活等特点,可作为中高档电子产品字符、图像的显示及人机对话的窗口。
1 总体设计方案
系统的总体设计方案如图1 所示。液晶触摸屏系统由31 2寸TFT 液晶屏模块、触摸屏和ARM 微处理器控制板组成。
触摸屏由触摸传感部件和触摸屏控制器ADS7843 组成,触摸传感部件安装在LCD 液晶屏前面,用于检测用户触摸位置,用户触摸信息送往ADS7843 控制器,并转换成触点坐标,送给ARM7 控制板,LPC2148 微处理器与液晶及触摸模块相连接,根据接收到的触摸信息,进行信号运算和处理,输出蜂鸣器等控制信号,控制液晶屏实现用户画面和数据的显示。

图1 液晶触摸屏系统总体设计方案
2 电路及原理
2.1 液晶触摸屏原理及ADS7843 触摸控制电路
原理如图2 所示。
U1为3.2 英寸TFT液晶模块,+3.3V 供电;内置SSD1289 液晶控制器;液晶屏分辨率为240×320 像素;屏幕颜色26 万色;屏幕尺寸为57mm×79mm, 有效显示面积为51mm×65mm.SSD1289 液晶控制器由16 位并行数据接口、内部控制器和LCD 驱动器组成。液晶数据传输方式为16 位并行方式,LPC2148 的16 根I/ O 口线分别接液晶模块的DB0~DB15.PWM 为亮度驱动控制输入,经9013 三极管放大后作为液晶背光。
触摸屏部分由触摸传感部件和触摸屏控制器ADS7843( U2) 组成。
ARM7与FPGA在工业控制中的应用
工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。
各部分功能简介
图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控制总线和故障检测总线相连。
图1 系统结构框图
1 故障检测和命令控制部分
故障检测:检测通道的故障(正常)信号以高(低)电平方式指示,其一旦有故障产生就会保持高电平不变直到故障排除。针对这种特征,在ARM控制器端采用定时中断循环查询方式来判断故障通道的状态。定时中断程序通过对ARM 地址总线在FPGA中进行译码而顺序锁定被检测通道的电平值,然后再经数据总线传回ARM进行判断,最后将判断结果送至远程终端。采用主机查询方式而不采用故障中断方式出于两个原因:一方面是通常控制芯片外部中断源有限(多数为4个外部中断源),对于多目标中断信号检测显然是困难的;另一方面,由于检测通道或设备受到短时干扰而产生电平随机反转,造成故障中断触发,而中断触发后又无法在通道电平恢复正常时撤销故障信号,故而形成虚假报警。
命令控制:ARM芯片先判断主控端发来的控制命令,然后通过地址总线和数据总线将命令状态发送至经FPGA地址译码锁定的控制通道上。
LPC2294的实时时钟显示设计
ARM(Advarlced RISC Machine)是设计这种处理器内核的公司的名字,ARM核并非芯片。ARM核与其他部件,如RAM、ROM、片内外设,组合在一起才构成现实的芯片。ARM作为一类微处理器的通称,作为一种低功耗、高性能的32位嵌入式微处理器,现在已经被广泛应用在各个领域中。
ARM应用的开发工具主要包括集成开发环境IDE、评估板和JTAG仿真器等。国内使用较多的IDE为ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有ARM公司的Muti-ICE和英蓓特公司的Embest系列ARM JTAG仿真器等。
可以在PC机上开发一个嵌入式系统,利用集成开发环境编写并编译链接产生ARM处理器执行代码。然后用仿真器等调试工具调试,并下载代码到硬件上,如图1所示。

在嵌入式系统的编程开发过程中,技术难点主要在于系统引导程序的编写。为此提供一个较完整的小工程,详细分析在ARM7基础上开发嵌入式系统时引导程序的关键代码,并简要介绍应用程序的主要函数。
LPC2294是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-SCPU,带有256 KB嵌入的高速Flash存储器。它有极低的功耗、多个32位定时器、RTC模块、WDT模块等。
本文主要是在以LPC2294为核心的ARM小系统中,在不采用操作系统的情况下,试编写了一个工程,并下载到该开发板的外部存储器(该开发板的片外存储器为4 MB片外32位数据总线宽度Flash存储器),接上VFD显示模块后,脱机运行时,显示实时时钟成功。
该工程利用ADS开发软件,在CodeWarrior IDE集成开发环境下,编写编译并使用AXD和技创公司的techorICE仿真器诃试,并下载程序,VFD模块采用PT6311驱动芯片。
工程的程序主要分两部分:系统引导(BOOT)部分和应用程序部分。
基于ARM9的媒体播放器的设计方案
1 引言
计算机多媒体技术和网络技术飞速发展使得基于流媒体的多媒体应用也被运用在多种领域,特别是网络可视电话、远程监控、视频点播领域。伴随着计算机多媒体压缩技术的成熟和网络传输技术的发展,开发实时可靠、多功能、数字化、操作简单的基于计算机网络通讯技术和多媒体应用的网络化流媒体播放器已成为计算机、通信、消费电子产品领域(3C 产业-Computer、Communication、Consumer Electronics)技术发展的主要方向之一。
2 系统硬件设计
本文使用TQ2440 开发板作为硬件平台。
S3C2440AL 是控制核心,负责控制所有辅助设备。存储器采用SDRAM 和Flash 两种类型,能满足系统运行和调试的需要。基本端口包括以太网接口、USB 接口、两个RS232 的串口。A/D 和D/A 模块主要用于现场数据的采集与控制信号的输出。DC/DC 模块主要负责整个系统的供电。
S3C 2440AL 是三星公司设计开发的基于精简指令集的ARM9 核的CPU, 工作频率可以达到400MHz,且具有丰富的内部设备,其中主要包括:存储器管理单元MMU、16kB 的指令缓冲器和16kB 数据缓冲器、存储器控制器(SDRAM 控制器)、NANDFlash 和NOR Flash 控制器、4 通道的外部DMA 请求控制、3 个串行口、SD 存储卡读取接口、USB 主机、USB 设备、5 个脉宽调制定时器。目前,S3C2440AL 已广泛地应用于PDA、智能手机、数字多媒体等方面。
3 系统的软件设计
系统的软件组成包括:嵌入式Linux 操作系统、设备驱动程序、图形界面和浏览器程序,这些只是IPTV 机顶盒软件组成的关键部分。
3.1 嵌入式操作系统的选择及移植
本系统采用Linux 作为操作系统,并选用Linux2.6内核在嵌入式微处理器S3C2410 上移植,具体移植方法如下:
(1)准备Linux2.6 内核移植所必需的文件(内核压缩包linux-2.6.tar.bz2 及交叉编译器arm -linuxgcc-3.4.1.tar.bz2),这些文件可到Linux 官方网站免费下载。
(2)利用Linux 命令(mkdir,tar,mv 及export)安装交叉编译器arm-linux-gcc-3.4.1.
(3)修改Makefile 文件及相关硬件文件。由于内核的编译是根据Makefile 文件的指示进行的,Makefile 文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖关系。所以,开发人员要首先修改Linux2.6 根目录下的Makfile 文件,修改的主要内容是目标代码的类型和为编译内核指定一个编译器。
(4)运用Make 命令编译内核生成内核镜像文件zImage 文件,通过相应的固化软件把这个文件固化在系统相应的存储器中,完成Linux2.6 内核在ARM 微处理器上的移植。
3.2 媒体播放器的总体架构
系统实现原理:在嵌入式微处理器S3C2440AL的控制下,TQ2440 开发板通过网络接口接收来自内容服务提供商的音视频广播信息,之后运行图形界面程序获取音视频信息,并在此基础上生成音视频节目清单,将信号传至显示屏进行显示,将节目呈现给用户。用户利用显示系统提供的图形界面和浏览器使用键盘、鼠标进行控制,观看节目,其总体架构如图1 所示。

ARM中基于DMA的高效UART通讯及其应用
1、引言
由于UART串行口的广泛应用,在传统的8位和16位的处理器以及32位处理器中,一般都带有UART串行口。传统的基于UART的数据通讯中,采用的方式一般有两种,查询式和中断式。查询方式下CPU的负担较重,浪费了处理器的能力,不能够很好的处理其他的事件;中断方式可以在接收到信息或需要发送数据时产生中断,在中断服务程序中完成数据的接收与发送。相对于查询方式,中断方式的CPU利用率要高。在CPU任务简单的系统中,使用中断方式确实是一种好方法。但是在复杂的系统中,比如移动机器人,处理器需要处理串行口通信,多个传感器数据的采集以及处理,实时轨迹的生成,运动轨迹插补以及位置闭环控制等等任务,牵扯到多个中断的优先级分配问题。为了保证数据发送与接收的可靠性,需要把UART的中断优先级设计较高,但是系统可能还有其他的需要更高优先级的中断,必须保证其定时的准确,这样就有可能造成串行通讯的中断不能及时响应,从而造成数据丢失。为此,笔者在采用S3c44b0x设计移动机器人控制器时,为了保证串行通讯的数据及时可靠的接收,同时兼顾其它任务不受影响,采用了基于DMA和中断方式相结合的UART串行通信方式。DMA是 Direct Memory Access的缩写,意思是“存储器直接访问”,它是一种高速的数据传输操作,允许在外部设备和存储器之间直接读/写数据,即不通过CPU,也不需要 CPU干预。整个数据传输操作是在一个称作DMA控制器的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中可以进行其他的工作。这样,在大部分时间里,CPU和输入/输出设备都处于并行的操作状态。其基本原理可以查阅教科书,此处不赘述。这里仅介绍S3c44c0x的DMA控制器。
2、S3c44b0x中的DMA控制器和UART的特性
S3c44b0x采用ARM7TDMI核,具有4 通道的DMA控制器,并且对应有4个中断。其中两个DMA通道称做ZDMA(通用DMA),连接在SSB(系统总线)上,另外两个DMA通道称做 BDMA(桥DMA),连接于SSB和SPB(外设总线)之间的接口层。连接于SSB上的ZDMA控制器可以用于从存储器到存储器,从存储器到固定目标的 I/O存储器,和从I/O 设备到存储器之间的数据传输。另外的两个BDMA 控制器主要作用是在外部存储器和内部外设之间传输数据,这里的I内部外设包括SIO,IIS,TIMER和UART等。BDMA与ZDMA可以通过软件启动,也可以通过硬件启动。此设计中我们使用UART0,与其对应的DMA通道为BDMA0。其控制器框图如图1所示。
S3c44b0x的UART单元提供2个独立的异步串行I/O口,每个口均可以工作于中断模式或者DMA模式,即 UART可以产生内部中断请求或者DMA请求,在CPU的串行I/O口之间传送数据,支持高达115.2KBPS的传输速率,每个UART通道包含2个 16位的分别用于发送和接收的FIFO通道。

ARM实现智能来电显示器
引言
目前我国电话网交换机传送主叫识别信息CID(Calling Identity Delivery) 有两种方式,较常用的是FSK(频移键控) 方式,另一种是DTMF(双音多频) 方式。基于ARM 的来电号码显示器的实现方法利用CID 芯片HT9032C 来解调FSK 码,同时可实现液晶显示、E2PROM存储和语音播报电话主叫号码等功能,以SPI 串行接口智能显示键盘控制芯片ZLG7289A 为核心设计的键盘电路可实现查阅、删除信息。文章详细介绍了系统的硬件电路设计和软件流程。实践表明,显示器外围器件少,抗干扰能力强,使用方便。
1 系统硬件设计
1.1 系统总体设计
整个系统由5 部分组成,分别是: (1) FSK 信号解调; (2) 来电号码语音播报; (3) 显示来电; (4) 存储来电信息; (5) 按键控制部分。具体如图1 所示。

图1 系统组成框图
1.2 系统各组成部分设计
(1) FSK 信号解调。
CID 芯片HT9032C 解调器是***HOLTEK 公司生产的双列直插、低功耗的接收物理层主叫识别信息的CMOS 集成电路FSK 解调芯片,它能满足Bell 202 和CCITT V.23 标准,实现1200 波特率FSK数据传输标准,且能检测铃流和载波,电话线经过接口电路接到HT9032C 的TIP,RING,RDET1 和RDET2脚,当有振铃信号来时,HT9032C 的RDET 脚触发下降沿。在第一次和第二次振铃之间HT9032C 把逻辑"1" (1200 ± 12) Hz、逻辑"0" (2200 ± 22) Hz、传输速率为1200 bit /s 的FSK 信号解调成串行异步二进制数据。当检测到有效载波信号,CDET 触发下降沿。在DOUT 脚输出包括信道占用信号、标志信号和主叫识别信号的所有信号; 在DOUTC 脚只输出主叫识别信号。
HT9032C 与ARM9 的具体硬件连线如图2 所示。

图2 CID 芯片HT9032C 与ARM9 的硬件连线
基于ARM7的LCD设计与实现
1 引言
随着科技的发展,ARM在社会各个方面的应用越来越广。ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。S3C4510B是SAMSUNG公司生产的基于ARM7TDMI的RISC微处理器,主频可达50MHZ。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。由于S3C4510B主要是针对以太网应用系统设计的,所以其内部没有LCD控制模块,这样在一些需要人机可视话交互过程中会产生诸多不便。我们在看重高性价比的情况下,利用S3C4510B的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。
2 S3C4510B介绍
S3C4510B是三星公司的一款基于以太网应用系统的高性价比16/32位(精简指令集)RISC微控制器,内含一个由ARM公司设计的ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核。支持大、小端模式,内部架构为大端模式,外部存储器可为大、小端模式;基于JTAG的调试方案;边界扫描接口。支持ROM/SRAM、FLASH、DRAM和外部I/O以8/16/32位的方式操作。最适合用于对价格及功耗敏感的应用场合。
除了ARM7TDMI核以外,S3C4510B比较重要的片内外围功能模块包括:
u 2个带缓冲描述符(Buffer Descriptior)的HDLC通道;
u 2个UART通道;
u 2个GDMA通道;
u 2个32位定时器;
u 18个可编程的I/O口。
S3C4510B提供了18个可编程的通用I/O端口,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器IOPMOD和IOPCON控制。所传输的数据存放在寄存器IOPDATA中。
端口0~端口7的工作模式仅由IOPMOD寄存器控制。另外通过设置IOPCON寄存器,端口8~端口11可用作外部中断请求INTREQ0~INTREQ3的输入。端口12、端口13可用作外部DMA请求XDREQ0、XDREQ1的输入。端口14、端口15可作为外部DMA请求的应答信号XDACK0、XDACK1,端口16可作为定时器0的溢出TOUT0,端口17可作为定时器1的溢出TOUT1。
I/O口模式寄存器IOPMOD中的低18位用于配置I/O口P17~P0的工作方式。0为输入、1为输出。
【详情参阅:基于ARM7的LCD设计与实现】
基于嵌入式ARM平台的可信计算的实现
目前市场上的TPM芯片主要应用在PC终端上,但是随着嵌入式系统的不断发展,TPM在嵌入式系统上的应用也越来越广,程序员在编写可信计算应用程序的时候,其切入点应该是TSS,本文就TPM和TSS的概念、TSS在ARM平台上的移植、调用TSS的API编写应用程序以及如何与TPM进行交互做了详细的介绍,最终实现了在嵌入式ARM平台上的可信计算。
TPM芯片结构和TSS体系结构概述
可信计算的核心是TPM,它是一种安全加密芯片,提供了一种基于硬件的方法来管理用户权限、网络访问、数据保护等。TPM芯片用来存储数字密钥、认证和密码,有了TPM不管是虚拟的还是物理的攻击都将变得更加困难。如图1所示,TPM芯片主要由以下几部分组成:I/O组件、非易失性存储、身份密钥、程序代码、随机数产生器、Sha-1算法引擎、RSA密钥产生、RSA引擎、Opt-In选择组件、执行引擎。

图1 TPM芯片结构
TPM芯片里的资源是有限的,它仅仅对外提供了一些基本的功能接口。为了充分应用TPM的内部功能,需要在TPM外部套接一个可信计算软件栈TSS,TSS作为可信计算平台上TPM的支持软件,其规范定义了一种能够让访问TPM变得简单和直接的体系结构。本文构建的嵌入式平台为三星的ARM9TDMI-S3C2410处理器,TPM芯片为Atmel公司的AT97SC3204T。
基于ARM的汽车“黑匣子”设计
汽车行驶记录仪俗称汽车黑匣子,是一种能够对车辆行驶速度、时间、里程以及其他状态信息进行记录的电子装置。本文设计的基于TI 公司的TMS470R1A256 汽车行驶记录仪可以记录汽车行驶的状态,并对通过汽车行驶状况的记录分析、鉴定道路交通事故,提高交通管理执法水平和运输管理水平,保障车辆运行安全具有重要作用。文中主要给出了系统的硬件设计及主程序的软件设计。本文在传统记录仪的基础上,增加GPRS , GPS及USB 主机等功能,实现对正在行驶的汽车进行远程监控、卫星导航等功能。
1 "黑匣子"的分类
由于各研制生产厂家的出发点不同,因而产品的类型不同,产品结构形式也不尽相同。目前市场上的记录仪己形成了一个种类繁多、性能不一的产品格局。汽车行驶记录仪根据其功能不同可以分为单一型、事故型、管理型、综合管理型和3G型。
3G型是从软件、硬件和系统功能上进行了优化设计,以综合管理为主要目地而开发的新一代汽车行驶记录仪。主要特征是多通道数据采集处理,全程连续记录,大容量存储卡和强大的综合管理软件系统,实现资源共享。此类型记录仪利用多通道数据采集处理平台、GPS 卫星定位仪、大容量数据存储卡、日趋成熟的地理信息系统和后台综合管理平台软件等强有力的现代化技术手段,重点针对营运和特种车辆的综合化管理目标,来完成车辆综合化管理进程。可通过在微机软件介面上重放的全程连续记录曲线和各开关传感器的连续状态,对车辆的营运、安全、质量等综合指标进行强有力的全程监控,根据需求打印统计图表,并采用动态分析方式,为驾驶员的安全驾驶提供极高价值的参考。
本文介绍的就是基于ARM 的3G型汽车"黑匣子"的设计。
2 系统总体设计
本系统包括记录仪车载端主机和监控软件组成。其中主机采用TI 公司32 位的RISC 微处理器TMS470R1A256 作为主控制器,包括基本记录模块、显示模块、打印机模块、GPS 模块、GPRS 模块、数据通讯模块。系统整体设计框图如图1 所示。

图1 系统原理框图
ARM数字化控制开关直流电源设计
随着现代科技事业的发展,电器设备的精度提高、可靠性加强,智能化和数字化的实现,开关电源正朝着高精度、智能化、数字化的方向发展。本文采用SAMSUNG公司的SC344BOX的ARM7芯片设计了一种智能化、数字化的可调开关直流电源,对电源主电路实现了全数字控制,输出电压可调,并提高了输出电压的精度和稳定度。控制算法通过软编程可以使系统升级,也便于用户根据各自的需要灵活地选择不同的控制功能。
1 电源系统的总体设计
电源系统的设计要求是:工频电源交流220V输入,直流电压可调输出10~2000V,输出电流小于100mA,用户可以使用键盘随时更改输出电压,显示屏上显示当前的工作状态。根据要求设计的电源系统由电源电路和控制电路两部分组成,如图1所示。

电源电路部分主要包括整流滤波、BUCK变换器、推挽式直流变换器、滤波器,把工频电源转化成所需要的直流电源。控制电路部分主要包括ARM7控制单元、电压分压反馈取样、键盘/显示,根据用户的输入参数来调整输出的直流电压,并把当前的工作状态显示出来。EMC保护用来消除工频电源中的噪声干扰,保护系统电路不被损坏。
2 电源电路部分的工作原理及设计
2.1整流滤波及BUCK变换器的设计
整流滤波把工频的交流电源变成直流电源,其电路如图2所示,输入/输出的波形如图3所示。为了提高整流效率,采用全桥整流,整流桥硅使用性价比高的KBP3510,2个400V的47μF电容并联,输出直流电压U0约为300V。
.bmp)
基于ARM Linux的图像采集与蓝牙传输
嵌入式Linux系统具有可移植性好、网络功能强、优秀的GNU编译工具、免费的开放源代码等优点。S3C2410处理器是一款采用ARM920T结构,内部资源非常丰富的32位嵌入式处理器。USB摄像头具有低廉的价格,良好的性能,加上Linux下有V4L支持对其编程,很容易集成到嵌入式系统中。蓝牙技术是目前被认可的短距离无线通信技术,广泛应用于手机、电脑以及汽车免提系统。
本文介绍基于嵌入式Linux的USB图像采集系统,并通过构建好的嵌入式Linux下的蓝牙环境将采集到的图片传送到蓝牙手机上,实现监控功能。
1 软硬件平台概述
系统硬件平台如图1所示。该平台软件上采用嵌入式Linux操作系统;硬件上采用Samsung公司的S3C2410处理器,另外配置了64 MB的NAND Flash存储器和64MB的SDRAM,通过以太网控制芯片CS8900扩展一个10M以太网接口。引出两个USB主口,一个接USB摄像头,一个接USB蓝牙适配器;将通过USB摄像头采集到的图像数据输出到缓冲区中,保存成文件,并通过蓝牙传输到蓝牙手机上。

2 摄像头驱动
在Linux下已经支持的摄像头驱动是采用ov511芯片的摄像头。使用这款芯片的摄像头有网眼2000/3000等系列,而现在市面上常见的摄像头芯片大多采用中芯微的zc0301、zc0302和zc0303等。Linux内核中并没有相关的驱动支持,但可以从网上下载到相关的spca5xx驱动。
本系统就采用市面上最常用的zc0301p1芯片的摄像头。由于是用于ARM开发板上,可以下载专用于嵌入式Linux的spca5xx-LE驱动,LE版的驱动最大限度地减少了内存的使用,符合嵌入式的需要。将下载的驱动加入到内核中,修改Makefile和Kconfig文件,在内核中选中USB_SPCA5XX,编译后就将摄像头的驱动加入到内核映像中了。
【详情参阅:基于ARM Linux的图像采集与蓝牙传输】
基于ARM9的指纹识别系统的设计和实现
生物识别技术是利用人体固有的生理特性(如指纹、脸象、红膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份的鉴定。生物识别技术比传统的身份鉴定方法更具安全、保密和方便性。生物特征识别技术具有不易遗忘、防伪性能好、不易伪造或被盗、随身“携带”和随时随地可用等优点。
生物识别的工作原理是利用生物识别设备对生物特征进行取样,提取其唯一的特征并将其转化成数字代码,并进一步将这些代码组成特征模板,人们同识别设备交互进行身份认证时,识别设备获取其特征并与数据库中的特征模板进行比对,以确定是否匹配,从而决定接受或拒绝该人。而在众多的用于身份验证的生物识别技术中,指纹识别技术是目前最方便、可靠、非侵害和价格便宜的解决方案。
指纹作为人体中最明显的外表特征,具有独一无二、普遍性、唯一性、易于采集等优点。指纹鉴定技术利用人类指纹稳定性和独特性的生理特征,将其作为人们的一种“活的身份证”,并且指纹具有不可替代性,使通过指纹进行身份鉴定的安全性大大提高,且随着图像处理模式识别方法的发展和指纹传感器技术的日臻成熟,指纹鉴定方法在金融、公安、门禁、户籍管理等领域都有着良好的应用前景。指纹的采集相对容易;指纹的识别算法已经较为成熟。由于指纹识别具有扫描指纹的速度快、方便、小型化等优点,指纹识别技术已经逐渐进入民用市场,并应用到许多嵌入式设备中,但是如何提高指纹识别系统的识别率和稳定性,降低成本以及扩展稳定性和节点分布,存在着一系列技术难题。
因此,本文研究了以内含arm核的微处理器AT91SAM7X256为核心,外部扩展指纹传感器MBF200构成指纹识别服务器硬件;系统软件移植实时多任务操作系统μC/OS-Ⅱ、文件系统、LwIP,应用软件实现指纹识别。该方法具有成本低、占用资源少、可扩展性强的特点。
1 分布式指纹识别系统原理及硬件设计
指纹识别技术主要涉及4个功能模块:读取指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,然后对原始图像进行初步处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。软件从指纹上找到被称为“节点”(minuTIae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有7种以上的唯一性特征。通常手指上平均具有70个节点,所以这种方法会产生大约500个数据。这些数据,通常称为模板。通过计算机模糊比较的方法。把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。
硬件电路的实现以微处理器AT91SAM7X256为核心,外围电路主要包括指纹识别模块MBF200、以太网物理层(PHY)收发器RTL8201BL,大容量的数据FlashAT45DBl61D、硬件日历时钟器件DSl302,电源电路、复位和时钟电路,如图1所示。

基于ARM-UClinux的无线家庭网关设计
引言
随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现Internet接入、远程控制,以及连接家庭内部异构子网的功能。基于PC机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非PC机设备。但是,若采用8位、16位单片机,由于速度慢且资源有限,实现TCP/IP协议比较困难,所以也不太理想。
因此本文以ARM核的32位嵌入式微处理器作为硬件平台,结合无线通信技术,通过移植嵌入式操作系统?Clinux,并在其上开发相应的驱动程序、应用程序和嵌入式Web服务器,实现了一个方便、实用的家庭网关。

图1 家庭网关系统结构图

图2 家庭网关基本硬件平台框图
电子发烧友App






评论