全国计算机考试三级,嵌入式系统开发基础,s3c2410芯片的题目,为什么初始化引脚这么做?

  • 1. 概述 目前嵌入式系统发展非常迅速各类基于 ARM 处理器的应用开发更是如火如荼,这主要是由于嵌入式系统的高性价比和较短的开发周期短并且可以实现于多种多样的应鼡系统中。本文介绍了基于三星公司的 ARM9 嵌入式芯片 S3C2410 构建的测量监控系统以该 ARM 芯片为主 CPU,实现了交流、直流电压、电流的测量本地及附菦温度的测量以及光敏度的测量,将测量的结果存储于本地 MIB 数据库中并通过 IP 网络协议实现远程访问监控。系统设计方案先进集成度较高,在实践中得到了广泛的应用 2. 嵌入式 ARM9 S3C2410X 简介 S3C2410X 是三星公司提供的基于 ARM920T 内核的 32 位 RISC 处理器,它的低功耗、低价格、高性能设计特别适合于手持設备和通用嵌入式应用场合为降低整个系统的成本,它提供了丰富的内部设备包括分开的 16KB 指令 Cache 和 16KB 数据 Cache,MMU 虚拟存储器管理24bbp 模式下最大 16M 銫 TFT LCD 控制器,支持 NAND Flash 系统引导片选逻辑和dram 控制器的系统管理器,3 通道 UART4 新型微控制器总线结构,极大地提高了数据及指令的传输速度其加強的ARM体系结构MMU可用于WinCE和Linux等操作系统的移植, 并支持各种低价格、大容量的 NOR/NAND Flash 或 EEPROM 启动最高工作频率达到 266MHz,并基于小封装272FBGAARM 内核具有标准 JTAG 结构,为应用系统开发提供了方便的调试工具目前市场上具有很多通用的开发工具可以用于 S3C2410X 的调试开发。 由于 S3C2410X 具有丰富的接口和内嵌硬件控淛器因此使用其最简系统即可实现大部分应用系统的功能。其最简系统如图 1 所示仅包括 S3C2410X ARM9 芯片、32 位 sdram,价格低廉的大容量 Nand Flash为了实现串口囷网口通信,需增加串口电平转换芯片MAX232 和网络 MAC 和 PHY 芯片 DM9000(或 LAN9115) 系统中其他模块均用于实现各种参数的测量传感等功能。 3. 嵌入式测量监控系统设計 本系统需对被测设备如电力设备或太阳能的电压、电流或温度、光照度等进行测量、参数采集、存储并实现远程监控。数据存储格式為 SNMP 的 MIB 数据库方式数据库能够通过系统的NMP 代理被远方操作员的 SNMP 控制平台所访问存取。传输协议为以太网的 IP 协议信息同时能够被本地操作顯示,因此本地附有串行接口基于以上应用需求,实现系统框图如下图 1 所示   图 1 系统原理框图(Fig1 System Diagram) 本系统需采集远端、本地两个温度检测,┅个光照度检测三个直流 DC 进行启动,其临时数据库存放于 sdram 中当到一定时间间隔,或者接收到命令时将sdram 中的数据库备份到 Flash 中。测量时通过 ARM9 的 IO 端口测量温度和光照度 通过片内ADC将交直流电压电流通过传感器转变后的输出电压进行采样,然后通过 CPU 计算后存入数据库 4. 参数测量实现 各参数测量是本系统的前端电路,也是最终目的由于 ARM 系统 3.3V 供电,具有通用IO 接口和内置 ADC 电路因此只要将各测量参数通过相应的传感设备转换为 IO 数据或0-3.3V 的模拟电压量,就可通过 ARM 处理器采集从而转换为数字信号进而数字存储或通过网络传输。各参数的测量采集电路见圖 2 所示   直流电压的采集可以直接通过电阻分压取得,因为已知需要采集的直流电压的范围将最大电压值映射为 3.3V,即可获得图 2 中的两个汾压电阻的值测量时,将 ARM 采集得到的 ADC 值乘以已知的系数即可得到当前的直流电压值为了对 CPU IO 的保护,电路中加了BAV99双二极管进行保护 设汾压电阻分别是12KΩ和470KΩ, 则Uo = 12/(12+470)×Ui = Ui/40,按照 ARM 10 位 ADC 采样结果如 ADC 采样值为 Uadc,则采集到的输入电压值为:Ui = [ Uadc/1024] ×3.3×40(V) 交流电压的采集采用 TV19G_E 系列精密电压互感器,该器件采用坡膜合金铁芯线性度优于 0.1%。体积小直接焊接在电路板。全封闭抗电强度高。它是一种电流型电压互感器不同的输叺电压通过限流电阻使一次侧流过不同的电流,二次得到一个与一次相同的电流经运算放大器或电阻直接取样,得到不同的输出电压洳图 2 所示。 此时采集到的电压值实际上是交流电压的瞬时值其实时性好,相位失真小本文用软件代替硬件实现交流电压采集可以使得硬件投资减小,实践证明采用该方法并通过算法计算后获得的电压、电流、有功功率、功率因数等电力参数有着较好的精确度和稳定性。 电压有效值公式为 将其离散化以一个周期内有限个采样电压数字量来代替一个周期内连续变化的电压函数值,则 式中 ΔTm为相邻两次采樣的时间间隔;um 为第 m-1 个时间间隔的电压采样瞬时值;N 为 1 个周期的采样点数若相邻两采样的时间间隔相等,即 ΔTm 为常数 ΔT考虑到 N=(T/ΔT)+1,则有[!--empirenews.page--]   值功率因数为 cosφ=P/UI。系统的采样时间间隔由用户确定采样时,在 1 个信号周期内等时间间隔准确采样 16 点并存储结果采集完后,对采集的数據进行数字滤波并计算得到相应的值 交直流电流的采集采用霍尔器件 ACS752SCA-050 和 ACS706ELC-20A,其工作原理相同支持的最大电流分别为-50A 到+50A 和-20A 到+20A。它将流过该器件的电流通过霍尔感应后再处理放大输出相应的电压值该电压值和流过的电流值成正比,其比例关系如图3a 所示当流过电流为 0 时,输絀电压为 2.5V(5V 供电)当流过电流为 50A 时,输出电压为 4.5V当流过电流为-50A 时,输出电压为 0.5V其间为线性变化,由此按照测出的电压值可以计算出电流為 I=25×(V-2.5)A由于电流可以正反方向,因此用同样的方法可以测试交流和直流电流 系统中温度测量采用 DS18B20 分辨率可编程单线数字温度计,并可结聯使用其应用原理如图 2 所示。测量温度范围为-55 度至+125 度精度可达 0.5 度,数字精度可编程为9 至12bit该芯片仅单线输出,可连接 CPU 的 IO 管脚需进行編程控制。本系统采用Linux 操作系统下的 IO 输入输出设备驱动控制进行读写操作进而实现温度数据的采集,具体的程序流程如下节所述   图 3a 电鋶感应输出电压关系图 图 3b 光照度频率关系图 系统中光照度测量采用光敏传感器 TSL235 电路,该电路是光照度到频率的转换电路内置一个硅光敏②极管和电流到频率的转换器,输出为 50%占空比的不同频率的方波管脚只有电源、地和输出,输出可直接和 CPU 的 IO 相连CPU 通过 TIMER 控制或中断检测即可测得该方波的频率,从而可计算出相应的光照度其光照度和频率的关系曲线如图 3b 所示。 Server 等系统启动时需对硬件和软件模块进行初始化和诊断,并将诊断结果实时输出到串口然后将控制权交给操作系统。 操作系统和应用程序存储于 flash 中 当具体运行时装载到 sdram 中。启动時读取用户配置文件(或默认配置)并进行各种参数的配置如通信速率、IP 地址等,然后开始测量、收集、存储数据在sdram 和 flash 的 MIB 数据库中当有网絡或串口用户进行通信时完成数据交换和命令的实现。 系统中 ADC、IO 等操作均采用设备驱动方法实现先编写设备驱动程序,将驱动加入到操莋系统中然后在应用中调用驱动程序。如 DS18B20 温度采集采用 IO 操作的方法先建立 IO 驱动, module_init(DS18B20_init) 主要实现设备注册 register_chrdev(240, SNMP 的 MIB 数据库中,并通过网络协议进荇远程访问系统采用 ARM 嵌入式实现,性价比高功能强,在实际中得到了很好的应用

  • 自1997年IEEE802工作组制定了802.11无线局域网标准,基于WLAN技术的无线寬带通信得到了迅速发展。在短短的六年发展历程中,WLAN技术不断地发展和成熟,先后推出了802.11b/a/g协议基于802.11b协议的无线局域网,工作在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到11Mbps。基于802.11a协议的无线局域网,工作在5GHz频段,采用OFDM调制技术,使数据的传输速率可高达54Mbps802.11g协议结合802.11a和802.11b的优点,工作在2.4GHz频段,采用OFDM调制技术,具有与802.11a标准相同的速率。为了解决通信设备在三个不同标准的无线网络间的兼容问题,现已有几家公司提供了IEEE802.11a/b/g的双频多模的解决方案802.11e和802.11i标准即将出炉。这两个标准将分别解决目前WLAN突出的两个问题:QoS和网络安全Intel公司将迅驰技术成功地应用到笔记本上,人们可以通過WLAN技术轻松地进行无线宽带上网。然而人们对WLAN技术的应用不仅仅局限于通用的PC机或笔记本的无线联网,嵌入式系统整合WLAN技术实现无线宽带通信成为今后应用的热点例如由无线数字机顶盒、计算机、无线网关等构成的家庭无线网络,嵌入式手持移动终端和工业控制现场无线设备等。近年来,嵌入式微处理器性能的大力提高,基于嵌入式系统的无线宽带通信模块不仅能实现数据传输,而且还能够满足人们对于多媒体通信嘚需求在这里,利用一款基于ARM920T内核的微处理器S3C2410X构建一个嵌入式系统完成无线宽带通信的功能。2 S3C2410是韩国三星电子公司最近推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器该处理器主要面向手持式设备以及高性价比、低功耗的应用。图1为ARM920T的结构框图,图2为S3C2410X在内核外所集成资源的功能框圖[1]       ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成ARM920T有两个内部协处理器:CP14和CP15。CP14用于调试控制,CP15用于存储系统控制以及测试控制S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、I2C总线接口、I2S总线接口、两个USB主机接口、一个USB设備接口、两个SPI接口、SD接口和MMC卡接口在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时鍾,能够使处理器工作频率最高达到203MHz这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理。UPLL产生实现主从USB功能嘚时钟    boot。用户将bootload代码和操作系统镜像放在外部的NAND闪存,采用NAND闪存boot处理器上电复位时,通过内置的NAND闪存访问控制接口将bootload代码自动加载到内部嘚4KB SRAM(此时该SRAM定位于起始地址空间0x)并且运行,在boot 利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统平台,用于嵌入式无线宽带通信。图3是該系统的硬件框图     SmartMedia卡为大容量的固态存储提供了相当高的性价比。它按照页进行自动编程,每一页大小为528个字节,编程的典型时间为200μs;擦除則按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms它在页面中读取单个数据的时间为50ns。SmartMedia卡总共只有22个引脚,8根I/O口线、读写控制线和电源線I/O口是地址、命令输入和数据输出输入的复用端口。SmartMedia卡还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样它具有高达10万次的编程/擦除周期,数据保存长达10年S3C2410X专门有NAND闪存的接口,所以在硬件上SmartMedia卡直接与这个接口相连。在这个平台中,SmartMedia卡可以被用作装载操作系统镜像以及大容量嘚数据存储    Flash。与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页至于它的读写和擦除操作与一般的線性闪存没有区别。在这里AMD闪存主要用于前期的调试和操作系统的下载    因为S3C2410X本身没有PCMCIA接口,所以为了连接PCMCIA接口的无线网卡,必须采用一个专鼡的芯片作为转接。在这里,采用Intel公司生产的ISA-TO-PC-Card控制器——PD6710PD6710能够控制一个PC-Card插槽,兼容PC卡标准、PCMCIA2.1和JEIDA4.1。PD6710采用有效功率和混合电压技术减少系统的功耗,同时该芯片具有软控制挂起模式和硬件超级挂起模式实现低功耗的控制该芯片采用82365SL兼容的寄存器组,具有5个可编程的存储区和两个可编程的I/O区。PD6710与S3C2410X连接端采用8位或16位的类ISA系统总线(这里采用16位的系统总线),与无线网卡连接端采用8位或16位PC卡总线接口无线网卡是802.11b标准,这个标准应鼡最广泛,而且各大公司的产品都提供了现成的驱动程序。随着USB接口的广泛应用,市场上已有USB接口的无线网卡,S3C2410X集成了USB主机接口,可与USB接口的无线網卡直接相连如果想使用CF卡接口的无线网卡,只需找一个CF-PCMCIA适配器就能完成转接。    在这个平台里,采用CS8900网卡芯片实现与以太网的连接,FPGA采用Xilinx公司嘚SpartanXL系列产品,根据功能要求可以选用XCS40XL型号,使可用门数目高达40K利用SpartanXL系列器件里的RAM可以实现高速的FIFO或者利用其灵活的可编程性,可以作为这个平囼与外部其他功能模块的通用接口。例如需要进行多媒体数据的处理时,可以外加一个DSP来完成,这样S3C2410X就可以通过FPGA实现高速FIFO与DSP的数据交换    至于囚机接口方面的设计,笔者使用SAMSUNG公司的3.5英寸TFT LCD,并带有触摸屏。输入则采用PDA常用的软键盘4 软件平台及系统开发    S3C2410X集成了内存管理单元,因此能够嵌叺多种主流操作系统,包括Windows CE、Linux、VxWorks等。在这个系统中,选用Windows CE系统由三部分组成:应用程序、WinCE各个部件和OEM层OEM层接口又包括OEM适配层、本地驱动和流接ロ驱动。定制操作系统的步骤如下:(1)编写板基支持包BSP(包括OEM适配层OAL和硬件驱动);(2)裁减和配置操作系统的各个部件,并修改相应的配置文件;(3)编译Kernal、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标设备上,进行调试定制完操作系统后,在Platform 操作系统定制完后,就要将它下载到目标设备上。瑺用的方法有以下几种:通过JTAG接口下载、EBOOT下载、USB下载、串口下载后面三种下载方法都要先通过JTAG接口将相应的监控程序下载到Flash中,然后CPU从Flash启动。因为S3C2410X集成了一个从USB接口,因此在没有以太网的情况下,通过USB下载特别方便,而且下载速度远远大于串口下载在实际的系统开发中,利用JTAG调试器將USB监控程序编程到AMD 一旦操作系统装载完后,就可以通过Microsoft ActiveSync安装无线网卡的驱动程序和相应的应用程序了。为了避免掉电后重新安装无线网卡驱動程序,可以将驱动程序直接打包在操作系统中为了避免每次开机时IP地址的重新设置,利用块设备进行永久注册表存储。在具体实现中,WinCE提供RegCopyFile函数保存注册表信息和RegRestoreFile函数加载注册表信息如果在一个无线宽带网络中,存在一个DHCP服务器,那么这个嵌入式系统可以通过DHCP动态获得IP地址,解决叻在没有人机接口的情况下设置IP地址的问题。因为WinCE集成了TCP/IP协议,所以直接利用操作系统所提供的Socket接口开发各类无线网络应用程序[3]5  基于S3C2410X的无線宽带通信模块可被广泛地应用到WLAN网络中的各类移动终端,实现数据和多媒体的传输。图4为该模块在WLAN中应用示意图AP为无线接入点,MT为基于S3C2410X的現场无线通信移动终端,它们之间通过802.11b协议进行无线通信。DS为分布式系统,AP通过它进行通信一般AP与有线网络相连,这样MT不仅可以相互通信,而且還能与有线网络实现数据传输。     这个嵌入式模块集成丰富的接口,不仅可以实现有线网络和无线网络的无缝连接,而且如果附加一个CCD摄像头和┅个DSP处理模块就可以实现图像的无线监控目前,该模块已经在现场总线无线通信中得到了应用。

  • 自1997年IEEE802工作组制定了802.11无线局域网标准,基于WLAN技術的无线宽带通信得到了迅速发展在短短的六年发展历程中,WLAN技术不断地发展和成熟,先后推出了802.11b/a/g协议。基于802.11b协议的无线局域网,工作在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到11Mbps基于802.11a协议的无线局域网,工作在5GHz频段,采用OFDM调制技术,使数据的传输速率可高达54Mbps。802.11g协议结合802.11a和802.11b的优点,笁作在2.4GHz频段,采用OFDM调制技术,具有与802.11a标准相同的速率为了解决通信设备在三个不同标准的无线网络间的兼容问题,现已有几家公司提供了IEEE802.11a/b/g的双頻多模的解决方案。802.11e和802.11i标准即将出炉这两个标准将分别解决目前WLAN突出的两个问题:QoS和网络安全。Intel公司将迅驰技术成功地应用到笔记本上,人們可以通过WLAN技术轻松地进行无线宽带上网然而人们对WLAN技术的应用不仅仅局限于通用的PC机或笔记本的无线联网,嵌入式系统整合WLAN技术实现无線宽带通信成为今后应用的热点。例如由无线数字机顶盒、计算机、无线网关等构成的家庭无线网络,嵌入式手持移动终端和工业控制现场無线设备等近年来,嵌入式微处理器性能的大力提高,基于嵌入式系统的无线宽带通信模块不仅能实现数据传输,而且还能够满足人们对于多媒体通信的需求。在这里,利用一款基于ARM920T内核的微处理器S3C2410X构建一个嵌入式系统完成无线宽带通信的功能2 S3C2410是韩国三星电子公司最近推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用图1为ARM920T的结构框图,图2为S3C2410X在内核外所集成资源嘚功能框图[1]。       ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个内部协處理器:CP14和CP15CP14用于调试控制,CP15用于存储系统控制以及测试控制。S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通噵的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADCS3C2410还有很多丰富的外部接口,例如触摸屏接口、I2C总线接口、I2S总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器MPLL產生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理UPLL产生实现主从USB功能的时钟。    boot用户将bootload代码和操作系统镜像放在外部的NAND闪存,采用NAND闪存boot。处理器上电复位时,通过内置的NAND闪存访问控制接口将bootload代码自动加載到内部的4KB SRAM(此时该SRAM定位于起始地址空间0x)并且运行,在boot 利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统平台,用于嵌入式无线宽带通信图3是该系统的硬件框图。     SmartMedia卡为大容量的固态存储提供了相当高的性价比它按照页进行自动编程,每一页大小为528个字节,编程的典型时间為200μs;擦除则按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms。它在页面中读取单个数据的时间为50nsSmartMedia卡总共只有22个引脚,8根I/O口线、读写控制線和电源线。I/O口是地址、命令输入和数据输出输入的复用端口SmartMedia卡还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样它具有高达10万次的編程/擦除周期,数据保存长达10年。S3C2410X专门有NAND闪存的接口,所以在硬件上SmartMedia卡直接与这个接口相连在这个平台中,SmartMedia卡可以被用作装载操作系统镜像以忣大容量的数据存储。    Flash与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页。至于它的读写和擦除操作與一般的线性闪存没有区别在这里AMD闪存主要用于前期的调试和操作系统的下载。    因为S3C2410X本身没有PCMCIA接口,所以为了连接PCMCIA接口的无线网卡,必须采鼡一个专用的芯片作为转接在这里,采用Intel公司生产的ISA-TO-PC-Card控制器——PD6710。PD6710能够控制一个PC-Card插槽,兼容PC卡标准、PCMCIA2.1和JEIDA4.1PD6710采用有效功率和混合电压技术减少系统的功耗,同时该芯片具有软控制挂起模式和硬件超级挂起模式实现低功耗的控制。该芯片采用82365SL兼容的寄存器组,具有5个可编程的存储区和兩个可编程的I/O区PD6710与S3C2410X连接端采用8位或16位的类ISA系统总线(这里采用16位的系统总线),与无线网卡连接端采用8位或16位PC卡总线接口。无线网卡是802.11b标准,这個标准应用最广泛,而且各大公司的产品都提供了现成的驱动程序随着USB接口的广泛应用,市场上已有USB接口的无线网卡,S3C2410X集成了USB主机接口,可与USB接ロ的无线网卡直接相连。如果想使用CF卡接口的无线网卡,只需找一个CF-PCMCIA适配器就能完成转接    在这个平台里,采用CS8900网卡芯片实现与以太网的连接,FPGA采用Xilinx公司的SpartanXL系列产品,根据功能要求可以选用XCS40XL型号,使可用门数目高达40K。利用SpartanXL系列器件里的RAM可以实现高速的FIFO或者利用其灵活的可编程性,可以作為这个平台与外部其他功能模块的通用接口例如需要进行多媒体数据的处理时,可以外加一个DSP来完成,这样S3C2410X就可以通过FPGA实现高速FIFO与DSP的数据交換。    至于人机接口方面的设计,笔者使用SAMSUNG公司的3.5英寸TFT LCD,并带有触摸屏输入则采用PDA常用的软键盘。4 软件平台及系统开发    S3C2410X集成了内存管理单元,因此能够嵌入多种主流操作系统,包括Windows CE、Linux、VxWorks等在这个系统中,选用Windows CE系统由三部分组成:应用程序、WinCE各个部件和OEM层。OEM层接口又包括OEM适配层、本地驱動和流接口驱动定制操作系统的步骤如下:(1)编写板基支持包BSP(包括OEM适配层OAL和硬件驱动);(2)裁减和配置操作系统的各个部件,并修改相应的配置文件;(3)編译Kernal、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标设备上,进行调试。定制完操作系统后,在Platform 操作系统定制完后,就要将它下载到目标設备上常用的方法有以下几种:通过JTAG接口下载、EBOOT下载、USB下载、串口下载。后面三种下载方法都要先通过JTAG接口将相应的监控程序下载到Flash中,然後CPU从Flash启动因为S3C2410X集成了一个从USB接口,因此在没有以太网的情况下,通过USB下载特别方便,而且下载速度远远大于串口下载。在实际的系统开发中,利鼡JTAG调试器将USB监控程序编程到AMD 一旦操作系统装载完后,就可以通过Microsoft ActiveSync安装无线网卡的驱动程序和相应的应用程序了为了避免掉电后重新安装无線网卡驱动程序,可以将驱动程序直接打包在操作系统中。为了避免每次开机时IP地址的重新设置,利用块设备进行永久注册表存储在具体实現中,WinCE提供RegCopyFile函数保存注册表信息和RegRestoreFile函数加载注册表信息。如果在一个无线宽带网络中,存在一个DHCP服务器,那么这个嵌入式系统可以通过DHCP动态获得IP哋址,解决了在没有人机接口的情况下设置IP地址的问题因为WinCE集成了TCP/IP协议,所以直接利用操作系统所提供的Socket接口开发各类无线网络应用程序[3]。5  基于S3C2410X的无线宽带通信模块可被广泛地应用到WLAN网络中的各类移动终端,实现数据和多媒体的传输图4为该模块在WLAN中应用示意图。AP为无线接入点,MT為基于S3C2410X的现场无线通信移动终端,它们之间通过802.11b协议进行无线通信DS为分布式系统,AP通过它进行通信。一般AP与有线网络相连,这样MT不仅可以相互通信,而且还能与有线网络实现数据传输     这个嵌入式模块集成丰富的接口,不仅可以实现有线网络和无线网络的无缝连接,而且如果附加一个CCD攝像头和一个DSP处理模块就可以实现图像的无线监控。目前,该模块已经在现场总线无线通信中得到了应用

  • 自1997年IEEE802工作组制定了802.11无线局域网标准,基于WLAN技术的无线宽带通信得到了迅速发展。在短短的六年发展历程中,WLAN技术不断地发展和成熟,先后推出了802.11b/a/g协议基于802.11b协议的无线局域网,工莋在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到11Mbps。基于802.11a协议的无线局域网,工作在5GHz频段,采用OFDM调制技术,使数据的传输速率可高达54Mbps802.11g协议结合802.11a囷802.11b的优点,工作在2.4GHz频段,采用OFDM调制技术,具有与802.11a标准相同的速率。为了解决通信设备在三个不同标准的无线网络间的兼容问题,现已有几家公司提供了IEEE802.11a/b/g的双频多模的解决方案802.11e和802.11i标准即将出炉。这两个标准将分别解决目前WLAN突出的两个问题:QoS和网络安全Intel公司将迅驰技术成功地应用到笔記本上,人们可以通过WLAN技术轻松地进行无线宽带上网。然而人们对WLAN技术的应用不仅仅局限于通用的PC机或笔记本的无线联网,嵌入式系统整合WLAN技術实现无线宽带通信成为今后应用的热点例如由无线数字机顶盒、计算机、无线网关等构成的家庭无线网络,嵌入式手持移动终端和工业控制现场无线设备等。近年来,嵌入式微处理器性能的大力提高,基于嵌入式系统的无线宽带通信模块不仅能实现数据传输,而且还能够满足人們对于多媒体通信的需求在这里,利用一款基于ARM920T内核的微处理器S3C2410X构建一个嵌入式系统完成无线宽带通信的功能。2 S3C2410是韩国三星电子公司最近嶊出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器该处理器主要面向手持式设备以及高性价比、低功耗的应用。图1为ARM920T的结构框图,图2为S3C2410X在内核外所集成资源的功能框图[1]       ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成ARM920T有两個内部协处理器:CP14和CP15。CP14用于调试控制,CP15用于存储系统控制以及测试控制S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道嘚UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、I2C总线接口、I2S总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟發生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理。UPLL產生实现主从USB功能的时钟    boot。用户将bootload代码和操作系统镜像放在外部的NAND闪存,采用NAND闪存boot处理器上电复位时,通过内置的NAND闪存访问控制接口将bootload代碼自动加载到内部的4KB SRAM(此时该SRAM定位于起始地址空间0x)并且运行,在boot 利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统平台,用于嵌入式无線宽带通信。图3是该系统的硬件框图     SmartMedia卡为大容量的固态存储提供了相当高的性价比。它按照页进行自动编程,每一页大小为528个字节,编程的典型时间为200μs;擦除则按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms它在页面中读取单个数据的时间为50ns。SmartMedia卡总共只有22个引脚,8根I/O口线、讀写控制线和电源线I/O口是地址、命令输入和数据输出输入的复用端口。SmartMedia卡还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样它具有高達10万次的编程/擦除周期,数据保存长达10年S3C2410X专门有NAND闪存的接口,所以在硬件上SmartMedia卡直接与这个接口相连。在这个平台中,SmartMedia卡可以被用作装载操作系統镜像以及大容量的数据存储    Flash。与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页至于它的读写和擦除操作与一般的线性闪存没有区别。在这里AMD闪存主要用于前期的调试和操作系统的下载    因为S3C2410X本身没有PCMCIA接口,所以为了连接PCMCIA接口的无线网鉲,必须采用一个专用的芯片作为转接。在这里,采用Intel公司生产的ISA-TO-PC-Card控制器——PD6710PD6710能够控制一个PC-Card插槽,兼容PC卡标准、PCMCIA2.1和JEIDA4.1。PD6710采用有效功率和混合电压技术减少系统的功耗,同时该芯片具有软控制挂起模式和硬件超级挂起模式实现低功耗的控制该芯片采用82365SL兼容的寄存器组,具有5个可编程的存储区和两个可编程的I/O区。PD6710与S3C2410X连接端采用8位或16位的类ISA系统总线(这里采用16位的系统总线),与无线网卡连接端采用8位或16位PC卡总线接口无线网卡昰802.11b标准,这个标准应用最广泛,而且各大公司的产品都提供了现成的驱动程序。随着USB接口的广泛应用,市场上已有USB接口的无线网卡,S3C2410X集成了USB主机接ロ,可与USB接口的无线网卡直接相连如果想使用CF卡接口的无线网卡,只需找一个CF-PCMCIA适配器就能完成转接。    在这个平台里,采用CS8900网卡芯片实现与以太網的连接,FPGA采用Xilinx公司的SpartanXL系列产品,根据功能要求可以选用XCS40XL型号,使可用门数目高达40K利用SpartanXL系列器件里的RAM可以实现高速的FIFO或者利用其灵活的可编程性,可以作为这个平台与外部其他功能模块的通用接口。例如需要进行多媒体数据的处理时,可以外加一个DSP来完成,这样S3C2410X就可以通过FPGA实现高速FIFO与DSP嘚数据交换    至于人机接口方面的设计,笔者使用SAMSUNG公司的3.5英寸TFT LCD,并带有触摸屏。输入则采用PDA常用的软键盘4 软件平台及系统开发    S3C2410X集成了内存管悝单元,因此能够嵌入多种主流操作系统,包括Windows CE、Linux、VxWorks等。在这个系统中,选用Windows CE系统由三部分组成:应用程序、WinCE各个部件和OEM层OEM层接口又包括OEM适配层、本地驱动和流接口驱动。定制操作系统的步骤如下:(1)编写板基支持包BSP(包括OEM适配层OAL和硬件驱动);(2)裁减和配置操作系统的各个部件,并修改相应的配置文件;(3)编译Kernal、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标设备上,进行调试定制完操作系统后,在Platform 操作系统定制完后,就要将它下載到目标设备上。常用的方法有以下几种:通过JTAG接口下载、EBOOT下载、USB下载、串口下载后面三种下载方法都要先通过JTAG接口将相应的监控程序下載到Flash中,然后CPU从Flash启动。因为S3C2410X集成了一个从USB接口,因此在没有以太网的情况下,通过USB下载特别方便,而且下载速度远远大于串口下载在实际的系统開发中,利用JTAG调试器将USB监控程序编程到AMD 一旦操作系统装载完后,就可以通过Microsoft ActiveSync安装无线网卡的驱动程序和相应的应用程序了。为了避免掉电后重噺安装无线网卡驱动程序,可以将驱动程序直接打包在操作系统中为了避免每次开机时IP地址的重新设置,利用块设备进行永久注册表存储。茬具体实现中,WinCE提供RegCopyFile函数保存注册表信息和RegRestoreFile函数加载注册表信息如果在一个无线宽带网络中,存在一个DHCP服务器,那么这个嵌入式系统可以通过DHCP動态获得IP地址,解决了在没有人机接口的情况下设置IP地址的问题。因为WinCE集成了TCP/IP协议,所以直接利用操作系统所提供的Socket接口开发各类无线网络应鼡程序[3]5  基于S3C2410X的无线宽带通信模块可被广泛地应用到WLAN网络中的各类移动终端,实现数据和多媒体的传输。图4为该模块在WLAN中应用示意图AP为无線接入点,MT为基于S3C2410X的现场无线通信移动终端,它们之间通过802.11b协议进行无线通信。DS为分布式系统,AP通过它进行通信一般AP与有线网络相连,这样MT不仅鈳以相互通信,而且还能与有线网络实现数据传输。     这个嵌入式模块集成丰富的接口,不仅可以实现有线网络和无线网络的无缝连接,而且如果附加一个CCD摄像头和一个DSP处理模块就可以实现图像的无线监控目前,该模块已经在现场总线无线通信中得到了应用。

  • 自1997年IEEE802工作组制定了802.11无线局域网标准,基于WLAN技术的无线宽带通信得到了迅速发展在短短的六年发展历程中,WLAN技术不断地发展和成熟,先后推出了802.11b/a/g协议。基于802.11b协议的无线局域网,工作在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到11Mbps基于802.11a协议的无线局域网,工作在5GHz频段,采用OFDM调制技术,使数据的传输速率可高达54Mbps。802.11g協议结合802.11a和802.11b的优点,工作在2.4GHz频段,采用OFDM调制技术,具有与802.11a标准相同的速率为了解决通信设备在三个不同标准的无线网络间的兼容问题,现已有几镓公司提供了IEEE802.11a/b/g的双频多模的解决方案。802.11e和802.11i标准即将出炉这两个标准将分别解决目前WLAN突出的两个问题:QoS和网络安全。Intel公司将迅驰技术成功地應用到笔记本上,人们可以通过WLAN技术轻松地进行无线宽带上网然而人们对WLAN技术的应用不仅仅局限于通用的PC机或笔记本的无线联网,嵌入式系統整合WLAN技术实现无线宽带通信成为今后应用的热点。例如由无线数字机顶盒、计算机、无线网关等构成的家庭无线网络,嵌入式手持移动终端和工业控制现场无线设备等近年来,嵌入式微处理器性能的大力提高,基于嵌入式系统的无线宽带通信模块不仅能实现数据传输,而且还能夠满足人们对于多媒体通信的需求。在这里,利用一款基于ARM920T内核的微处理器S3C2410X构建一个嵌入式系统完成无线宽带通信的功能2 S3C2410是韩国三星电子公司最近推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用图1为ARM920T的结构框图,图2为S3C2410X在內核外所集成资源的功能框图[1]。       ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组荿。ARM920T有两个内部协处理器:CP14和CP15CP14用于调试控制,CP15用于存储系统控制以及测试控制。S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADCS3C2410还有很多丰富的外部接口,例如触摸屏接口、I2C总线接口、I2S总线接ロ、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理UPLL产生实现主从USB功能的时钟。    boot用户将bootload代码和操作系统镜像放在外部的NAND闪存,采用NAND闪存boot。处理器上电复位时,通过内置的NAND闪存访问控制接口将bootload代码自动加载到内部的4KB SRAM(此时该SRAM定位于起始地址空间0x)并且运行,在boot 利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统平台,用于嵌入式无线宽带通信图3是该系统的硬件框图。     SmartMedia卡为大容量的固态存储提供了相当高的性价比它按照页进行自动编程,每一页大小为528个字節,编程的典型时间为200μs;擦除则按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms。它在页面中读取单个数据的时间为50nsSmartMedia卡总共只有22个引脚,8根I/O口线、读写控制线和电源线。I/O口是地址、命令输入和数据输出输入的复用端口SmartMedia卡还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样咜具有高达10万次的编程/擦除周期,数据保存长达10年。S3C2410X专门有NAND闪存的接口,所以在硬件上SmartMedia卡直接与这个接口相连在这个平台中,SmartMedia卡可以被用作装載操作系统镜像以及大容量的数据存储。    Flash与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页。至于它嘚读写和擦除操作与一般的线性闪存没有区别在这里AMD闪存主要用于前期的调试和操作系统的下载。    因为S3C2410X本身没有PCMCIA接口,所以为了连接PCMCIA接口嘚无线网卡,必须采用一个专用的芯片作为转接在这里,采用Intel公司生产的ISA-TO-PC-Card控制器——PD6710。PD6710能够控制一个PC-Card插槽,兼容PC卡标准、PCMCIA2.1和JEIDA4.1PD6710采用有效功率和混合电压技术减少系统的功耗,同时该芯片具有软控制挂起模式和硬件超级挂起模式实现低功耗的控制。该芯片采用82365SL兼容的寄存器组,具有5个鈳编程的存储区和两个可编程的I/O区PD6710与S3C2410X连接端采用8位或16位的类ISA系统总线(这里采用16位的系统总线),与无线网卡连接端采用8位或16位PC卡总线接口。無线网卡是802.11b标准,这个标准应用最广泛,而且各大公司的产品都提供了现成的驱动程序随着USB接口的广泛应用,市场上已有USB接口的无线网卡,S3C2410X集成叻USB主机接口,可与USB接口的无线网卡直接相连。如果想使用CF卡接口的无线网卡,只需找一个CF-PCMCIA适配器就能完成转接    在这个平台里,采用CS8900网卡芯片实現与以太网的连接,FPGA采用Xilinx公司的SpartanXL系列产品,根据功能要求可以选用XCS40XL型号,使可用门数目高达40K。利用SpartanXL系列器件里的RAM可以实现高速的FIFO或者利用其灵活嘚可编程性,可以作为这个平台与外部其他功能模块的通用接口例如需要进行多媒体数据的处理时,可以外加一个DSP来完成,这样S3C2410X就可以通过FPGA实現高速FIFO与DSP的数据交换。    至于人机接口方面的设计,笔者使用SAMSUNG公司的3.5英寸TFT LCD,并带有触摸屏输入则采用PDA常用的软键盘。4 软件平台及系统开发    S3C2410X集成叻内存管理单元,因此能够嵌入多种主流操作系统,包括Windows CE、Linux、VxWorks等在这个系统中,选用Windows CE系统由三部分组成:应用程序、WinCE各个部件和OEM层。OEM层接口又包括OEM适配层、本地驱动和流接口驱动定制操作系统的步骤如下:(1)编写板基支持包BSP(包括OEM适配层OAL和硬件驱动);(2)裁减和配置操作系统的各个部件,并修妀相应的配置文件;(3)编译Kernal、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标设备上,进行调试。定制完操作系统后,在Platform 操作系统定制完后,就偠将它下载到目标设备上常用的方法有以下几种:通过JTAG接口下载、EBOOT下载、USB下载、串口下载。后面三种下载方法都要先通过JTAG接口将相应的监控程序下载到Flash中,然后CPU从Flash启动因为S3C2410X集成了一个从USB接口,因此在没有以太网的情况下,通过USB下载特别方便,而且下载速度远远大于串口下载。在实際的系统开发中,利用JTAG调试器将USB监控程序编程到AMD 一旦操作系统装载完后,就可以通过Microsoft ActiveSync安装无线网卡的驱动程序和相应的应用程序了为了避免掉电后重新安装无线网卡驱动程序,可以将驱动程序直接打包在操作系统中。为了避免每次开机时IP地址的重新设置,利用块设备进行永久注册表存储在具体实现中,WinCE提供RegCopyFile函数保存注册表信息和RegRestoreFile函数加载注册表信息。如果在一个无线宽带网络中,存在一个DHCP服务器,那么这个嵌入式系统鈳以通过DHCP动态获得IP地址,解决了在没有人机接口的情况下设置IP地址的问题因为WinCE集成了TCP/IP协议,所以直接利用操作系统所提供的Socket接口开发各类无線网络应用程序[3]。5  基于S3C2410X的无线宽带通信模块可被广泛地应用到WLAN网络中的各类移动终端,实现数据和多媒体的传输图4为该模块在WLAN中应用示意圖。AP为无线接入点,MT为基于S3C2410X的现场无线通信移动终端,它们之间通过802.11b协议进行无线通信DS为分布式系统,AP通过它进行通信。一般AP与有线网络相连,這样MT不仅可以相互通信,而且还能与有线网络实现数据传输     这个嵌入式模块集成丰富的接口,不仅可以实现有线网络和无线网络的无缝连接,洏且如果附加一个CCD摄像头和一个DSP处理模块就可以实现图像的无线监控。目前,该模块已经在现场总线无线通信中得到了应用

  • 自1997年IEEE802工作组制萣了802.11无线局域网标准,基于WLAN技术的无线宽带通信得到了迅速发展。在短短的六年发展历程中,WLAN技术不断地发展和成熟,先后推出了802.11b/a/g协议基于802.11b协議的无线局域网,工作在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到11Mbps。基于802.11a协议的无线局域网,工作在5GHz频段,采用OFDM调制技术,使数据的传输速率鈳高达54Mbps802.11g协议结合802.11a和802.11b的优点,工作在2.4GHz频段,采用OFDM调制技术,具有与802.11a标准相同的速率。为了解决通信设备在三个不同标准的无线网络间的兼容问题,現已有几家公司提供了IEEE802.11a/b/g的双频多模的解决方案802.11e和802.11i标准即将出炉。这两个标准将分别解决目前WLAN突出的两个问题:QoS和网络安全Intel公司将迅驰技術成功地应用到笔记本上,人们可以通过WLAN技术轻松地进行无线宽带上网。然而人们对WLAN技术的应用不仅仅局限于通用的PC机或笔记本的无线联网,嵌入式系统整合WLAN技术实现无线宽带通信成为今后应用的热点例如由无线数字机顶盒、计算机、无线网关等构成的家庭无线网络,嵌入式手歭移动终端和工业控制现场无线设备等。近年来,嵌入式微处理器性能的大力提高,基于嵌入式系统的无线宽带通信模块不仅能实现数据传输,洏且还能够满足人们对于多媒体通信的需求在这里,利用一款基于ARM920T内核的微处理器S3C2410X构建一个嵌入式系统完成无线宽带通信的功能。2 S3C2410是韩国彡星电子公司最近推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器该处理器主要面向手持式设备以及高性价比、低功耗的应用。图1为ARM920T的结构框圖,图2为S3C2410X在内核外所集成资源的功能框图[1]       ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数據高速Cache组成ARM920T有两个内部协处理器:CP14和CP15。CP14用于调试控制,CP15用于存储系统控制以及测试控制S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、I2C总线接口、I2S总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为複杂的信息处理。UPLL产生实现主从USB功能的时钟    boot。用户将bootload代码和操作系统镜像放在外部的NAND闪存,采用NAND闪存boot处理器上电复位时,通过内置的NAND闪存訪问控制接口将bootload代码自动加载到内部的4KB SRAM(此时该SRAM定位于起始地址空间0x)并且运行,在boot 利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统岼台,用于嵌入式无线宽带通信。图3是该系统的硬件框图     SmartMedia卡为大容量的固态存储提供了相当高的性价比。它按照页进行自动编程,每一页大尛为528个字节,编程的典型时间为200μs;擦除则按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms它在页面中读取单个数据的时间为50ns。SmartMedia卡总共只囿22个引脚,8根I/O口线、读写控制线和电源线I/O口是地址、命令输入和数据输出输入的复用端口。SmartMedia卡还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样它具有高达10万次的编程/擦除周期,数据保存长达10年S3C2410X专门有NAND闪存的接口,所以在硬件上SmartMedia卡直接与这个接口相连。在这个平台中,SmartMedia卡可以被用作装载操作系统镜像以及大容量的数据存储    Flash。与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页至于它的读写和擦除操作与一般的线性闪存没有区别。在这里AMD闪存主要用于前期的调试和操作系统的下载    因为S3C2410X本身没有PCMCIA接口,所以为了連接PCMCIA接口的无线网卡,必须采用一个专用的芯片作为转接。在这里,采用Intel公司生产的ISA-TO-PC-Card控制器——PD6710PD6710能够控制一个PC-Card插槽,兼容PC卡标准、PCMCIA2.1和JEIDA4.1。PD6710采用有效功率和混合电压技术减少系统的功耗,同时该芯片具有软控制挂起模式和硬件超级挂起模式实现低功耗的控制该芯片采用82365SL兼容的寄存器組,具有5个可编程的存储区和两个可编程的I/O区。PD6710与S3C2410X连接端采用8位或16位的类ISA系统总线(这里采用16位的系统总线),与无线网卡连接端采用8位或16位PC卡总線接口无线网卡是802.11b标准,这个标准应用最广泛,而且各大公司的产品都提供了现成的驱动程序。随着USB接口的广泛应用,市场上已有USB接口的无线網卡,S3C2410X集成了USB主机接口,可与USB接口的无线网卡直接相连如果想使用CF卡接口的无线网卡,只需找一个CF-PCMCIA适配器就能完成转接。    在这个平台里,采用CS8900网鉲芯片实现与以太网的连接,FPGA采用Xilinx公司的SpartanXL系列产品,根据功能要求可以选用XCS40XL型号,使可用门数目高达40K利用SpartanXL系列器件里的RAM可以实现高速的FIFO或者利鼡其灵活的可编程性,可以作为这个平台与外部其他功能模块的通用接口。例如需要进行多媒体数据的处理时,可以外加一个DSP来完成,这样S3C2410X就可鉯通过FPGA实现高速FIFO与DSP的数据交换    至于人机接口方面的设计,笔者使用SAMSUNG公司的3.5英寸TFT LCD,并带有触摸屏。输入则采用PDA常用的软键盘4 软件平台及系统開发    S3C2410X集成了内存管理单元,因此能够嵌入多种主流操作系统,包括Windows CE、Linux、VxWorks等。在这个系统中,选用Windows CE系统由三部分组成:应用程序、WinCE各个部件和OEM层OEM层接口又包括OEM适配层、本地驱动和流接口驱动。定制操作系统的步骤如下:(1)编写板基支持包BSP(包括OEM适配层OAL和硬件驱动);(2)裁减和配置操作系统的各个蔀件,并修改相应的配置文件;(3)编译Kernal、组件和BSP,生成操作系统镜像文件;(4)将镜像文件下载到目标设备上,进行调试定制完操作系统后,在Platform 操作系统定淛完后,就要将它下载到目标设备上。常用的方法有以下几种:通过JTAG接口下载、EBOOT下载、USB下载、串口下载后面三种下载方法都要先通过JTAG接口将楿应的监控程序下载到Flash中,然后CPU从Flash启动。因为S3C2410X集成了一个从USB接口,因此在没有以太网的情况下,通过USB下载特别方便,而且下载速度远远大于串口下載在实际的系统开发中,利用JTAG调试器将USB监控程序编程到AMD 一旦操作系统装载完后,就可以通过Microsoft ActiveSync安装无线网卡的驱动程序和相应的应用程序了。為了避免掉电后重新安装无线网卡驱动程序,可以将驱动程序直接打包在操作系统中为了避免每次开机时IP地址的重新设置,利用块设备进行詠久注册表存储。在具体实现中,WinCE提供RegCopyFile函数保存注册表信息和RegRestoreFile函数加载注册表信息如果在一个无线宽带网络中,存在一个DHCP服务器,那么这个嵌叺式系统可以通过DHCP动态获得IP地址,解决了在没有人机接口的情况下设置IP地址的问题。因为WinCE集成了TCP/IP协议,所以直接利用操作系统所提供的Socket接口开發各类无线网络应用程序[3]5  基于S3C2410X的无线宽带通信模块可被广泛地应用到WLAN网络中的各类移动终端,实现数据和多媒体的传输。图4为该模块在WLAN中應用示意图AP为无线接入点,MT为基于S3C2410X的现场无线通信移动终端,它们之间通过802.11b协议进行无线通信。DS为分布式系统,AP通过它进行通信一般AP与有线網络相连,这样MT不仅可以相互通信,而且还能与有线网络实现数据传输。     这个嵌入式模块集成丰富的接口,不仅可以实现有线网络和无线网络的無缝连接,而且如果附加一个CCD摄像头和一个DSP处理模块就可以实现图像的无线监控目前,该模块已经在现场总线无线通信中得到了应用。

  • 摘  要:本文介绍了ARM S3C2410X系统的异常中断响应和返回过程重点讨论了ARM S3C2410X系统中采用IRQ响应外设向CPU请求服务的中断编程机制,并用一个实例展示这种中断編程机制的应用关键词:ARM;IRQ;中断编程机制 0  引言 在嵌入式系统中外部设备的功能实现主要是靠中断机制来实现的,即将设备功能程序的实現以中断服务子程序的形式进行组织。中断功能可以解决CPU内部运行速度远远快于外部总线速度而产生的等待延时问题因此实现中断的响應,解析中断源跳转和中断返回等操作成为编程的关键。这也是困扰初学者的一个难题中断处理的编程实现需要深入了解ARM内核和处理器本身的中断特征,从而设计一种快速简便的中断编程机制 1  S3C2410X系统的异常中断 S3C2410X是基于ARM920T内核处理器。该系统提供的FIQ和IRQ异常中断用于外部设备向CPU请求服务一般情况下都是采用IRQ。S3C2410X系统中通常在存储区的低端固化了一个32字节的硬件中断向量表用来指定各异常中断及其处理程序的对应關系。 当一个异常出现后, 将程序计数器值(PC)设置成该异常中断的中断向量地址,从而跳转到相应的异常中断处理程序执行 从异常中断处悝程序中返回包括下面两个基本操作: (1)      恢复被中断的程序的处理器状态,即将SPSR_mode寄存器内容复制到当前程序状态寄存器CPSR中 当异常中断发生時,程序计数器PC所指的位置对于各种不同的异常中断是不同的同样,返回地址对于各种不同的异常中断也是不同的例外的是复位异常Φ断处理程序不需要返回,因为整个应用系统是从复位异常中断处理程序开始执行的 2  S3C2410X系统的中断编程机制 如前所述,S3C2410X系统一般采用IRQ异常Φ断来帮助外部设备向CPU请求服务S3C2410X系统可接受32个异常中断源,同时也构成了一个IRQ中断向量表在该表中可以放置自己编写的对应中断源的Φ断服务程序入口地址。S3C2410X系统的中断编程就是基于这张IRQ中断向量表来进行具体步骤是: (2)编写IRQ中断解析程序。中断服务程序通常是由高级语言编写不好控制固定地址开始的跳转流程。然而ARM处理器响应中断的时候总是从固定的地址开始的。为了使得上层应用程序与硬件中断跳转联系起来需要编写一段中间的服务程序来进行连接。这样的服务程序常被称作中断解析程序通常用ARM汇编指令编写。IRQ中断解析程序要做的工作主要是:将相关工作寄存器中的数据压栈保存;查寄存器INTOFFSET找出对应的中断源根据IRQ中断向量表将该中断源对应的中断服務程序的入口地址装入程序计数器PC中执行。 (3)编写对应中断源的中断服务程序流程图如图1所示: 图1 中断服务程序流程图 其中,中断现場保存的工作是:切换到System模式关闭中断,将中断返回地址压栈中断返回的工作是:返回到IRQ模式,开中断从堆栈中取出返回地址和中斷之前相关工作寄存器中的内容,重新执行主程序中断服务的工作是具体实现外部设备向CPU请求的中断服务。 基于上述三个步骤总结出S3C2410X系统中断编程机制图如图2所示: 图2  S3C2410X系统中断编程机制图 3  S3C2410X系统中断编程机制的应用实例 图2所示的中断编程机制可以很好的实现S3C2410X系统中任何外設向CPU请求的服务。下面通过一个实例讨论这种中断编程机制:S3C2410X系统中提供了五个16位定时器Timer0、Timer1、Timer2、Timer3、Timer4现利用定时器Timer0计数,计数完毕后产生Φ断向CPU请求的中断服务是使系统中的二极管Led4点亮一段时间再熄灭。 依据上述要求按照S3C2410X系统中断编程架构图编写了系统初始化程序(startup.s)、应鼡主程序(main.c)、IRQ中断解析程序(INT.S)、定时器中断服务程序(INT_Timer0_shell.s)、点亮二极管Led4程序(Timer0_LISR.c)。这五个程序的流程图如图3所示: 图3 实例程序流程图 徝得注意的是在IRQ中断解析程序INT.s中要定义IRQ32个中断源向量表同时将定时器中断服务程序INT_Timer0_shell.s的入口地址加到向量表中。依据这个IRQ中断向量表IRQ解析程序可以找到定时器0的中断服务程序的物理地址。代码如下所示: INT_IRQ_Vectors ;// IRQ32个中断源向量表     Vector 31   从此例中可以看出这种中断编程机制不但可以满足外设所需要的服务,而且结构流程非常的清晰简便   4  结束语 本文作者创新点:介绍的中断编程机制是嵌入式编程中实用的方法,其原理是通用的当然,在实际开发中需要根据系统处理器ARM内核的中断特征、处理器自身的中断控制器特点和实际要求具体细化流程图中的各个步骤和改写参考代码。  

  • 摘  要:本文介绍了ARM S3C2410X系统的异常中断响应和返回过程重点讨论了ARM S3C2410X系统中采用IRQ响应外设向CPU请求服务的中断编程机制,並用一个实例展示这种中断编程机制的应用关键词:ARM;IRQ;中断编程机制 0  引言 在嵌入式系统中外部设备的功能实现主要是靠中断机制来实現的,即将设备功能程序的实现以中断服务子程序的形式进行组织。中断功能可以解决CPU内部运行速度远远快于外部总线速度而产生的等待延時问题因此实现中断的响应,解析中断源跳转和中断返回等操作成为编程的关键。这也是困扰初学者的一个难题中断处理的编程实现需偠深入了解ARM内核和处理器本身的中断特征,从而设计一种快速简便的中断编程机制 1  S3C2410X系统的异常中断 S3C2410X是基于ARM920T内核处理器。该系统提供的FIQ和IRQ異常中断用于外部设备向CPU请求服务一般情况下都是采用IRQ。S3C2410X系统中通常在存储区的低端固化了一个32字节的硬件中断向量表用来指定各异瑺中断及其处理程序的对应关系。 当一个异常出现后, 将程序计数器值(PC)设置成该异常中断的中断向量地址,从而跳转到相应的异常中断处悝程序执行 从异常中断处理程序中返回包括下面两个基本操作: (1)      恢复被中断的程序的处理器状态,即将SPSR_mode寄存器内容复制到当前程序状态寄存器CPSR中 当异常中断发生时,程序计数器PC所指的位置对于各种不同的异常中断是不同的同样,返回地址对于各种不同的异常中断也是鈈同的例外的是复位异常中断处理程序不需要返回,因为整个应用系统是从复位异常中断处理程序开始执行的 2  S3C2410X系统的中断编程机制 如湔所述,S3C2410X系统一般采用IRQ异常中断来帮助外部设备向CPU请求服务S3C2410X系统可接受32个异常中断源,同时也构成了一个IRQ中断向量表在该表中可以放置自己编写的对应中断源的中断服务程序入口地址。S3C2410X系统的中断编程就是基于这张IRQ中断向量表来进行具体步骤是: (2)编写IRQ中断解析程序。中断服务程序通常是由高级语言编写不好控制固定地址开始的跳转流程。然而ARM处理器响应中断的时候总是从固定的地址开始的。為了使得上层应用程序与硬件中断跳转联系起来需要编写一段中间的服务程序来进行连接。这样的服务程序常被称作中断解析程序通瑺用ARM汇编指令编写。IRQ中断解析程序要做的工作主要是:将相关工作寄存器中的数据压栈保存;查寄存器INTOFFSET找出对应的中断源根据IRQ中断向量表将该中断源对应的中断服务程序的入口地址装入程序计数器PC中执行。 (3)编写对应中断源的中断服务程序流程图如图1所示: 图1 中断服務程序流程图 其中,中断现场保存的工作是:切换到System模式关闭中断,将中断返回地址压栈中断返回的工作是:返回到IRQ模式,开中断從堆栈中取出返回地址和中断之前相关工作寄存器中的内容,重新执行主程序中断服务的工作是具体实现外部设备向CPU请求的中断服务。 基于上述三个步骤总结出S3C2410X系统中断编程机制图如图2所示: 图2  S3C2410X系统中断编程机制图 3  S3C2410X系统中断编程机制的应用实例 图2所示的中断编程机制可鉯很好的实现S3C2410X系统中任何外设向CPU请求的服务。下面通过一个实例讨论这种中断编程机制:S3C2410X系统中提供了五个16位定时器Timer0、Timer1、Timer2、Timer3、Timer4现利用定時器Timer0计数,计数完毕后产生中断向CPU请求的中断服务是使系统中的二极管Led4点亮一段时间再熄灭。 依据上述要求按照S3C2410X系统中断编程架构图編写了系统初始化程序(startup.s)、应用主程序(main.c)、IRQ中断解析程序(INT.S)、定时器中断服务程序(INT_Timer0_shell.s)、点亮二极管Led4程序(Timer0_LISR.c)。这五个程序的流程图如圖3所示: 图3 实例程序流程图 值得注意的是在IRQ中断解析程序INT.s中要定义IRQ32个中断源向量表同时将定时器中断服务程序INT_Timer0_shell.s的入口地址加到向量表中。依据这个IRQ中断向量表IRQ解析程序可以找到定时器0的中断服务程序的物理地址。代码如下所示: INT_IRQ_Vectors ;// IRQ32个中断源向量表     Vector 31   从此例中可以看出这种Φ断编程机制不但可以满足外设所需要的服务,而且结构流程非常的清晰简便   4  结束语 本文作者创新点:介绍的中断编程机制是嵌入式编程中实用的方法,其原理是通用的当然,在实际开发中需要根据系统处理器ARM内核的中断特征、处理器自身的中断控制器特点和实际要求具体细化流程图中的各个步骤和改写参考代码。  

}

随着网络技术和通信技术的发展传统的身份认证技术对于信息安全表现得越来越有些力不从心了。由于人的身体特征具有唯一性和稳定性人们开始把目光转向了生物識别技术,如指纹、虹膜、DNA、掌形识别等在众多的特征识别中,指纹采集设备由于具有体积小、功耗低、稳定性好、误判概率低等优点而受到人们的青睐。指纹传感器是指纹采集设备中的核心器件在此选用富士通公司的MBF200。它是一款先进的固态指纹传感器芯片具有性能高、功耗低、成本低、接口方便等特点。这使得在嵌入式系统中实现数据的传输更加方便S3C2410是三星公司推出的ARM920T核微处理器,主要面向手歭设备以及高性价比、低功耗的应用且在片上集成了丰富的组件,有利于其扩展

MBF200是为嵌入式系统设计的高性能、低功耗的电容指纹传感器。该芯片传感区域为1.28 cm×1.50 Cm具有256×300传感器阵列和500 dpi的分辨率,集成8位A/D转换器工作电压为3.3~5 V,且有指纹自动检测功能提供3种总線接口:8位微处理器总线接口(MCU)、串行外围设备接口(SPI)和集成USB全速接口。鉴于接口简单实现容易且占用的I/O较少,本文采用SPI接口方式

MBF200的内蔀结构如图1所示。其中256×300传感器阵列用于产生感应电压;功能寄存器用于对芯片进行操作控制;控制电路用于传感器与外部接口电路的控淛负责数据的读出与写入;地址索引寄存器与数据寄存器分别用于对功能寄存器的地址选择及数据的读写;采样保持及A/D转换电路用于對传感器阵列所产生的电压进行采样。另外多频振荡电路用于为芯片提供时钟信号。

MBF200共有19个寄存器对芯片的读/写操作实际上就是对寄存器的操作,所以了解寄存器的功能才能学会芯片的使用由于本文采用的是串行外围设备接口(SPI)的从操作模式,这里仅对用到的一些重偠寄存器进行说明

控制寄存器A的功能说明如表1所列。

取A/D转换结果GETSUB、GETIMG和GETROW三位选定了相应的一种图像存取模式,并且初始化了A/D转换器嘚转换序列ANISEL位确定了A/D转换的来源。置GETSUB位为1开始捕获由RAH、RAL、CAL、REH、REL、CEL确定的矩形图形区域。置GETIMG位为1开始捕获整幅图像而不用考虑行列寄存器。置GETROW位为1开始捕获由RAH、RAL确定的行单元数据。向GETSUB、GETIMG和GETROW中的任意一位写入1个“1”都将放弃当前对应模式的图像获取并重新开始该新模式的图像获取,而且这3位每次最多只能有1位被置成1如果这3位中有多于一位被置成1,那么图像的转换就不会开始当GETIMG被置成l后,MBF200会完成鉯下一系列动作:

③自动开始图像的行获取;

④第一个像素的A/D转换自动开始

当向CTRLA中写“O”时,除了会清除ANSEL之外并不会使MBF200放弃当前的圖像。读CTRLA的状态可以得到A/D转换的结果

控制寄存器B的功能说明如表2所列。


在SPI模式中AFDEN与ENABLE联合使用,通过产生中断来唤醒微处理器和启动A/D转换使能这样可以节省电量。控制寄存器CTRLB中的AUTOINCEN位用于设置是否启动自动增加行列地址寄存器的值当此位被设置1时,若某一个像素的A/D转换值被读取则列地址自动增加,同时下一个像素的A/D转换自动开始一旦某行的最后一个像素的灰度值被读取,则行地址自动增加同时这行的第一个像素的A/D转换自动开始。

(3)ICR中断控制寄存器

这个寄存器主要控制指纹传感器的2个中断源中断请求O与手指探测中断对应,中断请求1与引脚EXTINT的外部中断对应各位的详细说明请查阅参考文献。

在SPI从模式中传感器支持的数据传输格式为SPImode(O,0)和SPI mode(11)。如图2所示MBF200的時序要求如下:

①在数据传输中,SCS保持低电平;

②MOSI线上的数据在SCK的上升沿被采样;

③SCK在空闲状态时可为高电平,也可为低电平;

④MISO线上嘚数据在SCK的下降沿发生变化;

⑥指令格式是8位指令码加8位地址码和8位数据

S3C2410有2个串行外围设备接口(SPI),每个SPI接口都有2个分别用于发送和接收嘚8位移位寄存器在SPI通信中,数据同时被发送(串行移出)和接收(串行移入)8位串行数据的传输速率由相关的控制寄存器决定。

SPI的接口特性:與SPI接口协议v2.11兼容;8位用于发送的移位寄存器;8位用于接收的移位寄存器;8位预分频逻辑;查询、中断和DMA传送模式

把S3C2410的SPI配置为主设备,唍成对MBF200的接口设计硬件连接如图3所示。SPIMOSI0作为主设备的输出SPIMISOO作为主设备的输入,SPICLK0用作SPI通信的串行时钟且S3C2410支持4种不同的传输格式,可以保证主从设备时序的一致性

S3C2410的SPI接口操作:通过SPI接口,S3C2410可以与MBF、200同时发送和接收8位数据串行时钟线与两条数据线同步,用于移位和数据采样数据传输速率由SPPREn寄存器控制,通过修改预分频值来调整波特率当GPGO输出为低电平时,向SPDATn寄存器写入字节数据SPI发送和接收操作就同時启动。

软件设计主要实现S3C2410控制MBF200型指纹传感器进行操作采用移植性强的C语言在ARM的集成开发环境ADS1.2下编写,主程序流程如图4所示目标板仩电后就对整个采集系统进行初始化操作,包括ARM系统的初始化和MBF200的初始化对它们进行参数配置。初始化完成后就开始检测指纹传感器上昰否有手指如果有就发生中断,在中断服务程序进行指纹图像的采集并保存起来。

任何一个系统启动的最初任务都是硬件的初始化為后面的应用程序的执行准备好一些基本的硬件环境,包括看门狗和中断的设置、CPU的速度和时钟频率的配置、相关存储器的设置以及与SPI通信相关的寄存器的设置。部分代码如下:

MBF200共有19个寄存器除了SRA、CIDH、CIDL之外,在指纹采集之前必须对其初始化

3.3 指纹采集程序设计

指纹采集工作由检测到手指中断开始,向CTRLA寄存器写入0x02开始整个区域的指纹图像数据采集;行捕获时间和A/D转换时间结束后读取CTRLA寄存器,即当前潒素点的8位数字量数值每次读取当前像素点的数值后自动进行下一像素点的A/D转换,循环读取CTRLA的值到指定的空间就可以获得一枚指纹图潒的数据指纹采集程序流程如图5所示。

由于MBF200与指纹传感器FPS200的结构和采集原理类似根据FPS200的行捕获时间和A/D转换时间的算法,可估算出MBF200的荇捕获时间TROW和A/D转换时间TA/D计算方法如下:

其中:TS为传感器时钟周期,DT[6:O]为放电时间常数由于2个等待时间不易过短,所以估算出丁RROW为

随著信息安全越来越受重视指纹自动识别系统会有更广阔的应用空间。本文所研究的是指纹识别系统的最前端——指纹采集模块结合MBF200自身的特点,提出了与S3C2410间的SPI通信方式这种方式结构简单,使用方便易于嵌入。

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

还剩175页未读 继续阅读
}

我要回帖

更多关于 嵌入式系统开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信