控制终端软件的核心是嵌入式linux操作系统,一切功能的实现都基于Linux操作系统完成,Linux本身作为一个桌面系统,进入嵌入式操作系统领域时,需要解决的问题主要包括硬件支持、提供二次开发的环境以及小型化(裁减内核)等,小型化的目的是在满足操作系统基本功能和用户特定需要的情况下,使内核尽可能小,作为一个操作系统,Linux内核主要负责程序的管理与调度、内存的管理及对外设的驱动和管理等,由于Linux内核采用模块化的设计,很多模块可以独立地加载或卸载,所以小型化就是对Linux内核重新编译,在编译时仔细地选择嵌入式设备所需要的功能模块,同时删除不需要的功能,这里只需要串口驱动、USB摄像头接口驱动(包含USB Host,USB Core和USB Device)还有拨号网络应用,还要支持PPP、TCP/IP网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至1Mb以内。
具体程序设计包括Bootloader启动代码、设备驱动程序(USB摄像头接口驱动程序、串口驱动程序)、拨号、PPP及TCP/IP协议处理,监控接收转发控制程序等。控制流程如图3所示。
a)系统加电后复位。
b)Bootloader初始化CPU、SDRAM、分配地址空间等。
c)Bootloader把Linux内核的压缩文件解压到SDRAM中,同时把控制权从Bootloader移交到Linux。
Linux的内核有两种运行方式可供选择。可以在Flash存储器上直接运行,也可以加载到内存中运行。Flash存储器运行方式就是把内核的可执行映像烧写到Flash存储器上,系统启动时从Flash存储器的某个地址开始运行内核,进入SDRAM继续运行,这种做法能减少内存需要,实际上很多嵌入式系统都采用这种方法,内存加载方式把内核的压缩文件存放在Flash存储器上,系统启动时自动读取压缩文件并在内存中解压,然后开始执行,这种方式相对较复杂,但运行速度更快,我们采用的就是这种方式。
Cisco PA-2E3= 2 Port E3 Serial Port Adapter Card Module
CELLVINE BDA-CDMA80-10-1?4-AA-XXX
TransElectric HRR-C08W21-10A
STELLAR ORBCOMM ST2500 Data Communicator ST250101227
CELWAVE 48610A Upb: 824-849MHz Downb 869-894MHz
MARS ANTENNA & RF SYSTEM M224810200015 MR-HSBDA60-XN
AVANTRY ODU-1-1-3-18 WitLine-2000
RS PRUFZEILEN VIT SELECTOR INSERTER SPRF 217.4012.04
Tektronix VIT 201 PAL INSERTION GENERATOR
Enlarge
Alvarion SU-E-4.9-3-BD-V?L BreezeACCESS VL-CH B-V 5.4GHz
A&M INST. FSCN 15309-265-847 METER 1R 6625-01-082-148?0
Enlarge
STR - LCS LOCAL CALL SIMULATOR PN: 028690 l@@k!!!
Digital View - Toch Screen LCD MONITOR BL-C095 11-12"
LOT OF 19 PARKER K3PX004 24 DC + BASIS VC3 3804
SII AMART LABEL PRINTER PLUS
SIGNET 18 GPM FLOMETER P/N P50940-1
HF-49% PART OF Pneumatic Machine
NITRIC HN-03 PART OF Pneumatic Machine
POWER ONE HTAA-16W-A HC24-2.4-A POWER SUPPLY
CUTLER HAMMER CE15CNS3 SERIES B1
CUTLER HAMMER CE15DN3 SERIES B1
2 X GORDOS Crouzet GA5-6D25-288 Relay 25AMP 24-280VAC
SMC E/P REGULATOR ITV2031-31N3N4-?X97 70-50 PSI + SENSOR
Powertech FSP090-50PL 90 Watt Flex ATX Power Supply
SMC E/P REGULATOR ITV2011-31N3N4-?X95 70-15 PSI + SENSOR
ADVANCE POWER MRE2400 RECTIFIER MRE24H54B01
MITSUBISHI HA-FH55-UE-S2 5000rpm AC SERVO MOTOR
AB ALLEN BRADLEY N-3412-2-H00AA 193528 MOTOR
BIRD DIRECTIONAL POWER SENSOR 4021 0.3 - 1000 Watts
NC Nor Cal ESVP-1502-NWB-B Pneumatic Angle Valve
CKD AMC-V-X51-DB Valve
Hitachi 2M130 G0=010011 MAGNETRON
DPT PM3755F U2 PCI SmartRAID V Millennium HA-0935-05-4D
Reliance Electric E288 0288-32-003 SERVO MOTOR
VCORN 4 CA356-00261 PCI CONVERT CA256-0031
Acopian VB24G350M-230 Regulated Power Supply
Acopian VB24G210M-230 Regulated Power Supply
HP A4318A A4125A C200 12/20 PLEX
Zellweger MDA Scientific Primer Flow Module 872100-1
Etasis EPR-2251 Redundant Dual AC Power Supply 230W
Zellweger MDA Scientific SECONDARY Flow Module 872770
501059 DVB-MUX D 10 INPUT 501059 REV C
SCOPUS 532960-001-00 MODULE
203961 DVB-OVER-IP BOARD FOR ENCODER 501943
ATM ADAPTER 204197 ATM/G703/DVB-AD?APTOR 501194 REV A
OFEK U-375B C-375A 43-00 E-T MODULE
LOT OF 2 optibase MGW-200 MGE200 Modules
SMARTCARD TANDBERG TELEVISION ECO-C30 9404.30 295123870
OPTIMA 2349-32156-00 SDI+2nd STEREO 500698 MODULE
AGILENT 84904L 11 dB ATTENUATOR 24 VOLT DRIVE DC 40GHz
TELEDATA RELAY CARD REV-A ME294V00995 MUDELE
2 X AGILENT / HP 8496H 110 dB ATTENUATOR 24V DC 18GHz
LOT OF 3 RADGUARD clPro-3000 clPro-2500 clPro-CA
AGILENT / HP 84904L 11 dB ATTENUATOR 24V DRIVE DC 40GHz
Microtest MT350S 2935-4001-02 Scanner w/ Super Injector
AGILENT / HP 84907L 70 dB ATTENUATOR 24V DRIVE DC 40GHz
RADWARE Director 1904672 CID1000/ASII/5x?GB+16xFE 256MB
HP A3262-60045 HP9000 PCBA REGULATOR
LOT OF 8 ANTRIEBSTECHNIK GEFEG M48x50/I + S5 9253 MOTOR
Item title
AGILENT/HP 84904K 11 dB ATTENUATOR 24V DRIVE DC 26.5GHz
LOT OF 4 LIN ENGNEERING 5618L-60S 1.3A MOTOR
LOT OF 5 GLOBE MOTOR 403A677-MOTOR 24 VDC K-240
LOT OF 7 GLOBE MOTOR 455A116-3 MOTOR
LOT OF 2 GLOBE MOTOR 455A115-3 MOTOR
LANNET SH-EMA ETHERNET NETWORK MANAGEMENT MODULE NEW!
LENswitch LSE404S LSE-404S/RJ 860009 MODULE
IBM ServeRAID SCSI Controller 37L6892 w/37L6902 4 ports
CENTRECOM ALLIED TELESIS AT MR122T MICRO REPEATER
VARIAN 111035001 REV 1
MOTOROLA 300 POINTS SCANNER F2682D
RS - NICAM DEMODULATOR 2067.5607 847899 008 1 01
Wandel & Goltermann IBT-10U ISDN TESTER BN 7530
Enlarge
AIPHONE MODEL: PD-2 JNSPECTED 6532915 Power Supply
C.N.Roodb.V Electronics - Audio Comprator Type: AC-12
UniVolt MODEL DT-2200 MINI CLAMP METER
Oriel MODEL: 68735 DC Regulated Power Supply
Turbine Engine wheel for collectors
Enlarge
ALLIED TELESIS AT-270 IEEE 802.3 COMPLIANT TRANSCEIVER
MKS TYPE 640 PRESSURE CONTROLLER 640A-26197 1000 TORR
JVC AC POWER ADAPTER AA-V6EG & Battery 9.6V-1400mAh
SWAGELOK SS-HFS3B-HF41-P?S PRESSURE REGULATOR 1000 PSI
APPLIED MATERIALS 0090-35042 0100-35079 0020-01979
SMC DeviceNet EX160-DDN1A AMAT B3052007-61886
Emass Panel w/200159-A & 200160-A LPN1 DMC 20481
APPLIED MATERIALS 0100-00572 GAS PANEL DISTRIBUITON
Emass w/200159-A & 200160-A LPN1 DMC 20481
SMC GAS PANEL COMMUNICATION BOX IN587-04-A VV100-49-X8
SUN Penguin PWA-SunPCi PC+M 411693500005
CUTLER-HAMMER 13104RS5020 COMET SERIES PERFECT PROX
MKS BARATRON 872B13TME2MT1 Pressure Transducer 1000Torr
APPLIED MATERIALS 0190-27729 SMC NP420-DN1 Manifold
APPLIED MATERIALS 0010-77680 SMC NP420-DN1 Manifold
Berkeley Process USAU-11-28-UR Multi Axis Servo Control
EMOTEQ BLDC Motor Amplifier BBH03401-L05-H5 301081
2 X COMPAQ StorageWorks SAN Switch 2/16-EL 283056-B21
BOSCH 058 07-11-28 2 0 390 257 693 CHP 24V CGS HSC100
LOT OF 4 KOLLMORGEN AKM24F-ENM2C-00 DANAHER SERVO MOTOR
LOT OF 4 COMAIR ROTRON SPRINT ST12ZOPX 5404262-01 FAN
4 X CONTINUOUS 24+2 ETHERNET SWITCH PSB XB 05677 05675
RADWARE 1904690 DP6000/AS5/2xGB?/8x10/100/1000 1GB/2GB
RADWARE 19046856 DP3020 AS4+SME 8GBIC 512MB/1G
RADWARE AppDirector 6000/AS5 1913681 2xGE+8x10/1GB/2?GB
RADWARE 19238019 DefensePro 10016 ODS3-S1/2CPU/2U 8GB
CERAGON FIBEAIR 1528-7 01-3126-0 FOR PARTS/REPAIR AS IS
IntraServer 8241C-S 2137-00 SCSI CPCI Breakout MODULE
TELKOOR PS360 POWER SUPPLY MODULE 100-240 VAC 47-63Hz
IntraServer 8241C-R 2138-00 SCSI CPCI Breakout MODULE
Ametek 240V Vacuum Motor 150358 5-90278-61 E 06430076S
Schneider Electric TWIDO TWDDRA8RT 0960-2507 CONTROLLER
RADCOM UQAN-TALK Omni-Q Solution Test of the Art
ASUS 08G27SF01207 S7F EXTERNAL ODD BD NLQCD1000
ROC SUP 1987 K 77A001156 BOARD
CIRRUS LOGIC GD542X REV Z BOARD
LOT OF 2 ROC PCA-6155 Rev .A1 BOARD
REDLINE NETWORKS T | X 2400 TX2400 WEB ACCELERATOR
45900183 HIGH PURITY VALVE DIAPHRAGM, SPRINGLESS 125PSI
45800348 HIGH PURITY VALVE DIAPHRAGM SPRINGLESS 125PSI
d)开始执行SDRAM中的代码,Linux内核初始化,完成堆栈,中断的分配等。
e)加载串口驱动模块和USB摄像头驱动模块,完成串口和USB口的初始化。
f)运行PPP拨号程序,通过CDMA网络与Internet进行连接,在Linux下的PPP包是专门为解决Modem拨号上网问题而编写的,并且是公开源代码的,PPP拨号脚本程序主要是通过调用pppd和chat这两个应用程序,并通过AT指令实现对Modem的操作。
至此,已经建立了从图像采集到图像传输的完整的嵌入式监控系统,但是,作为一个嵌入式操作系统,他是为某一专门的用途而设计的。运行不同的用户应用程序,就可以实现用户要求的不同功能,生动地体现了嵌入式系统的灵活性。
我们运行的用户程序是一个无限循环的过程,控制终端在不断等待拍照请求,通过比较识别认为有请求后,CPU通过USB摄像头驱动控制摄像头拍照,同时接收图片并发送控制中心,或通过SMTP协议,发送到的Email地址,完成一次请求。