嵌入式系统处理图像压缩
扫描二维码
随时随地手机看文章
嵌入式系统是计算机的一种应用形式,通常指嵌入在宿主设备中的微处理机系统。它所强调的要点是:计算机不为表现自己,而是辅助它所在的宿主设备,使宿主设备的功能智能化、网络化。通常把嵌入式系统定义为一种以应用为中心,以计算机为基础,软硬件可以剪裁,适用于系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。因此在嵌入式系统中,操作系统和应用软件常被集成于计算机硬件系统之中,使系统的应用软件与硬件一体化。这样,嵌入式系统的硬件与软件需要高效率地协同设计,以做到量体裁衣,去除冗余,在同样的系统配置上实现更高的性能 [1]。
在当今科技日新月异的时代,嵌入式系统作为信息技术的重要组成部分,已经渗透到我们生活的方方面面。从智能手机、智能家居到工业控制、医疗设备,嵌入式系统的身影无处不在。那么,嵌入式开发究竟是干啥的呢?本文将深入剖析嵌入式开发的内涵、技术栈、应用领域以及发展前景,为读者提供一个全面而专业的视角。
入式开发,简而言之,就是针对特定应用需求,设计并开发嵌入在设备或系统中的专用计算机软件和硬件的过程。这些系统通常是为了执行特定功能而设计的,如控制电机速度、监测环境温度或处理图像数据等。嵌入式系统通常由微处理器(或微控制器)、存储器、输入输出接口以及嵌入式软件组成,它们共同协作以实现预定的功能。
嵌入式开发的核心在于“嵌入”二字,即软件与硬件的紧密结合。这要求开发者不仅具备扎实的软件编程能力,还需要对硬件电路、接口协议以及系统架构有深入的理解。因此,嵌入式开发是一个跨学科的领域,它融合了计算机科学、电子工程和自动控制等多门学科的知识。
嵌入式开发的技术栈相当广泛,涵盖了从硬件设计到软件开发的多个层面。
硬件层面:包括微处理器选型、电路设计、PCB布局布线、电源管理等。开发者需要熟悉各种微处理器架构(如ARM、MIPS等)、外设接口(如I2C、SPI、UART等)以及硬件调试工具的使用。
软件层面:主要包括嵌入式操作系统(如RTOS、Linux等)、设备驱动程序开发、应用软件开发以及调试测试等。开发者需要精通C/C++等编程语言,熟悉嵌入式操作系统的内核机制,以及掌握各种调试技巧和工具。
工具链:嵌入式开发还需要一系列的工具链支持,如编译器、链接器、调试器、仿真器等。这些工具是嵌入式开发不可或缺的一部分,它们帮助开发者将代码编译成可在目标硬件上运行的二进制文件,并进行调试和测试。
随着嵌入式应用的发展和16/32位RISC处理器技术的成熟,以及支持各种高端处理器的嵌入式操作系统的涌现和完善,嵌入式无线设备可以利用CDMA网络实现许多新的应用。自动发送彩信的嵌入式系统就是这种新应用之一,在特定的条件下,系统自动发送彩信到指定的移动通信终端;该应用系统是由用户根据要求设定触发条件的自动发送彩信系统,当满足触发条件时,设备会自动控制捕获、压缩图像部件拍摄外部图像,经过模数转换、数字压缩等处理后,经处理器做MMS(Multimedia Message Service,多媒体短信服务)协议封装,封装后的数据经由手机模块发送到移动交换网络,最终转发到移动通信终端用户。
系统整体设计
● 系统主处理器
系统选用Samsung公司的16/32位基于ARM7TDMI的微处理器,其最高主频可以达到130MIPS,同时支持16位的Thumb指令集,使用Thumb指令集可以以16位的系统开销得到32位的系统性能。
● 系统原理框图
系统从逻辑上分成三部分:图像捕获和图像压缩模块用于捕获和压缩图像;MMS协议处理和主控制器模块处理图像数据和任务控制;手机模块可发送彩信和接收短消息。系统原理如图1所示。

图1 系统原理框图
● 系统工作原理步骤
(1)系统上电启动后,手机模块读取UIM信息发送无线信号寻找CDMA网络,进行用户号码账户和身份验证后连接到网络;然后系统发起任务读取手机模块中的信息,确定是否有网络连接,若有网络连接则系统发起任务,等待满足触发自动发送彩信的条件。
(2)设备软件可以接受SMS(Short Message Service,短信服务)信息,并对之进行解析,根据解析的结果进行动作。当接收到用户的触发后,系统发起任务控制串口UART对图像捕获、压缩模块进行命令控制和拍照;拍照后发起任务对串口进行读取,接收图像捕获、压缩模块回传的图像数据。
(3)当接收到回传的图像数据后系统发起任务对图像数据进行MMS封装,封装格式完全符合MMS CLIENT端协议。
(4)系统发起任务使用WAP协议与WAP信息网关建立连接,建立连接后由系统把封装的图像数据通过标准串口UART传送给手机模块,最后系统发起任务使用AT指令控制手机模块把彩色图片发送到移动交换网络,最终转发到设定的目标移动通信终端用户,从而完成了自动发送彩信的功能。
● 系统硬件设计系统硬件设计技术要点包括以下部分。
(1)图像压缩处理模块完成对数字图像信息的压缩,部分电路如图2所示。SDRAM用来缓存图像数据,FLASH用来存储压缩处理器执行程序映像。此外,图像压缩处理器模块提供一个UART接口,以便将压缩的图像文件传输到主控处理器模块。

图2 图像压缩处理电路

图3 系统串口连接电路
(2)系统串口连接电路的部分电路如图3所示。ARM7处理器提供标准的UART接口连接手机模块,另外提供一个串行接口,与图像压缩处理器模块串行接口相连。嵌入式软件是一种特殊类型的软件,它是紧密结合并嵌入在硬件中的。这种软件的设计目的是为了控制、监测、管理、操作硬件设备,使其能够更好地服务于用户。嵌入式软件不同于我们通常在个人电脑上运行的软件,因为它需要实时处理和快速响应,对系统资源(如处理器、内存等)有严格的要求。
嵌入式软件的开发和设计需要考虑到设备的电源管理、实时响应、可靠性、效率等因素。因此,嵌入式软件的开发过程通常需要更多的硬件知识,也需要更深入的系统设计和优化技能。
嵌入式软件被广泛应用于各种行业和领域,包括工业制造、汽车、航空航天、医疗设备、通信技术、家庭自动化等。例如,在汽车中,嵌入式软件可以控制引擎、刹车系统、安全系统等;在航空航天中,嵌入式软件可以控制飞行系统、导航系统等。
随着物联网(IoT)的发展,嵌入式软件的作用越来越重要。从智能家居到智能城市,从医疗设备到工业自动化,嵌入式软件都在背后发挥着关键作用。随着技术的发展,嵌入式软件的功能和性能也将不断提升,未来将有更多的创新和应用。
总的来说,嵌入式软件是电子设备中不可或缺的一部分,它使我们的生活更加便利、高效和安全。