嵌入式系统数字图像采集接口电路设计经验总结

时间:2019-05-11 22:41:24下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《嵌入式系统数字图像采集接口电路设计经验总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《嵌入式系统数字图像采集接口电路设计经验总结》。

第一篇:嵌入式系统数字图像采集接口电路设计经验总结

摘要:本文介绍了两种用于嵌入式系统的数字图像采集接口方法,I/O接口和内存直接写入。在对采集速度要求不高的应用中,I/O接口方法可以简化接口电路设计,减少系统资源。对于要求实时进行图像处理的系统,直接写入内存法可以在不需要处理器干预的情况下,直接将图像数据写入系统存储区内,实现高速图像采集。

关键词:嵌入式系统,图像采集,电路设计

Abstract: In this paper, we present two different interfaces between digital a image sensors and a processor for embed systems, I/O mode and DMW(Direct Memory Write)mode.In I/O mode, processor can read image data through I/O port, and the interface is simple.In DMW mode, image data can be write into RAM directly while a processor is suspended.Key words: Embed System, Image Capture, Electronic Circuit

一、引言

随着半导体技术的飞速发展,具有图像功能的嵌入式应用愈来愈多。从数码相机、可视电话、多功能移动电话等消费产品到门禁、数字视频监视等工业控制及安防产品,图像采集和处理已成为重要的组成部分之一。图像采集需要进行同步信号的处理,比通常的A/D数据采集过程复杂,电路的设计也较为困难。传统PC上的图像采集卡都是在Philips、Brooktree等半导体公司提供的接口芯片基础上,由专业公司开发生产。在嵌入式系统中不同的处理器和图像传感器的信号定义及接口方式不同,没有通用的接口芯片。另外,利用系统中的现有资源设计图像采集电路,可以减少器件数量、缩小产品体积和降低系统成本。所以,通常嵌入式系统中要求自行设计图像采集接口电路。本文针对不同采集速度的要求,提出了两种图像采集接口电路的设计方法。

目前市场上主流的图像传感器有CCD、CMOS两种器件,其中CMOS器件上世纪90年代产生,近年来得到了迅速发展。传感器的输出有模拟和数字两种。由于CMOS器件功耗小、使用方便,具有直接数字图像输出功能,作者在设计时选用了CMOS数字输出图像传感器件。其他方式器件的接口设计与此类似,将在讨论中说明。

本文内容做如下安排:第二部分简述图像信号的特点;第三、四部分分别介绍I/O和内存直接写入两种接口设计方法;最后部分是讨论。

二、图像信号介绍

图1给出了采样时钟(PCLK)和输出数据(D)之间的时序关系。在读取图像数据时用PCLK锁存输出数据。除采样时钟(PCLK)和数据输出(D)外,还有水平方向的行同步信号(HSYNC))和垂直方向的场同步信号(VSYNC)。对于隔行扫描器件,还有帧同步信号(FRAME)。如图2,一帧包括两场。图2中窄的矩形条是同步脉冲,同步脉冲期间数据端口输出的数据无效。

PLCK存在时,图像数据端口连续不断地输出数据。由于行之间以及场之间输出数据无效,在采集图像数据必须考虑同步信号,读取有效数据才能保证图像的完整性。

三、I/O接口设计

对于MCU、DSP处理器,I/O是最方便的访问方式之一。以I/O方式读取图像数据不仅可以简化电路设计,而且程序也很简单。但由于读取每一个像素都要检测状态,在处理器速度低的情况下,读取图像慢。在处理器速度快或图像采集速度要求不高的应用中,I/O接口方式是一个较好的选择。

1、电路原理和结构

在图像传感器和处理器之间,利用两个锁存器分别锁存状态和图像数据,处理器通过两个I/O端口分别读取。图3中,在采样时钟的上升沿数据锁存器保存传感器输出的图像数据,当处理器通过I/O口读取图像时,数据锁存器输出数据。其它情况下,锁存器输出处于高阻状态。处理器通过状态锁存器读取同步信号和图像就绪(Ready)指示信号。在数据锁存器保存图像数据的同时,状态锁存器产生Ready信号(从‘0’到‘1’)。处理器读取图像数据时,Ready信号自动清除(从‘1’到‘0’)。处理器读取状态时锁存器驱动总线,其他情况下输出处于高阻状态。

2、图像读取流程

要保证图像的完整性就必须从一场图像的第一行开始读取,对于隔行扫描输出的图像则必须从一帧的第一行开始读取。读取每行图像数据时,则从该行的第一个像素开始。因此,在读取图像数据前应先判断场和行的起始位置。图4是通过I/O接口方式读取图像数据的流程。读取每个像素数据前先查询数据状态,如果数据已准备好则读取数据。

3、同步信号检测

为了简化电路设计,用处理器直接读取同步信号,然后找出场和行的起始位置。

从图2可以看出,处理器读取同步信号时,信号可能处在同步脉冲状态(‘1’)或正常状态(‘0‘)。对于那些同步信号反向的器件,则分别为‘0’和‘1’。如果信号处于同步脉冲状态,第一次检测到的正常状态就起始位置。如果信号处于正常状态,则首先检测到脉冲状态,然后用同样的方法确定起始位置。

通过上述方法可以检测出场的起始位置和行起始位置。

4、用VHDL设计锁存器

在应用中,以上两个锁存器的功能和其他逻辑集中在一起,用可编程逻辑器件实现。下面分别为它们的VHDL表示。

设DO(0-7)是锁存器输出端,DI(0-7)是锁存器输入端,DM(0-7)是中间状态,Data_R是数据读信号(低电平时有效),则数据锁存器的VHDL描述为:

Process(reset, PCLK)--锁存图像数据

Begin If reset='0' then DM<=“00000000”;--清除数据

Else if PCLK'event and PCLK='1' then DM<=DI;--锁存数据

End if;End process;Process(DM, Data_R)--读取图像数据

Begin If Data_R='0' then DO<=DM;--输出图像数据

Else DO<=“ZZZZZZZZ”--输出高阻

End if;End process;进一步设数据有效状态为Dstatus, 状态读写信号为Status_R(低点平时有效),则状态锁存器的VHDL描述为:

Process(reset, PCLK,Data_R)--数据有效状态控制

Begin If reset='0' or Data_R='0' then Dstatus<='0';--清除状态

Else if PCLK'enent and PCLK='1' then Dstatus<='1';--设置状态

End if;End process;Process(Dstatus, Status_R)--读取状态和同步信号

Begin If Status_R='0' then DO0<=Dstatus;DO1<=VSYNC;DO2<=HSYNC;DO3<=FRAME;Else DO<=“ZZZZZZZZ”;--高阻状态

End if;End process;

四、内存直接写入接口设计

在处理器速度较慢且图像数据输出的频率不能降低的情况下,采用上述I/O接口方法不能得到完整的图像。另外,有些应用中要求能够实时采集图像。为此,我们设计了高速数据图像采集方法―内存直接写入法。由于SRAM访问控制简单,电路设计方便,被大量嵌入式系统采用,本文以SRAM作为存储器。

1、电路原理和结构

内存直接写入方法通过设计的图像采集控制器(以下简称控制器)不需处理器参与,直接将图像数据写入系统中的内存中,实现高速图像采集。

图5是接口结构图,当需要采集图像时,处理器向控制器发出采集请求,请求信号capture_r从高到低。控制器接到请求脉冲后,发出处理器挂起请求信号HOLD,使处理器的外总线处于高阻状态,释放出总线。控制器收到处理器应答HOLDA后管理总线,同时检测图像同步信号。当检测到图像开始位置时,控制器自动产生地址和读写控制信号将图像数据直接写入内存中。图像采集完成后,控制器自动将总线控制权交还处理器,处理器继续运行,控制器中与采集相关的状态复位。控制器可以根据同步信号或设定的采集图像大小确定采集是否完成。

在图5中,控制器包括同步信号检测、地址发生器、SRAM写控制器、总线控制器和处理器握手电路等主要部分。同步信号检测确定每一场(帧)和每一行的起始位置;地址发生器产生写SRAM所需的地址;SRAM写控制器产生写入时序;总线控制器在采集图像时管理总线,采集完成后自动释放;处理器握手电路接受处理器命令、发总线管理请求和应答处理器。

2、SRAM写控制时序

采集图像过程中,控制器自动将数据写入到硬件设定的内存中。写内存时,控制器产生RAM地址(A)、片选信号(/CS)、读信号(/RD)和写信号(/WD),同时锁存传感器输出的数据并送到数据总线(D)上。每写入一个数据后,地址(A)自动增1。采集时/CS保持有效(‘0’)状态而/RD处于无效状态(‘1’)。地址A的变化必须与/WD和数据锁存器协调好才能保证图像数据的有效性。

图6是控制器产生的SRAM信号时序图。用PCLK作为地址发生器的输入时钟,且在其上升沿更新地址值。同样,在PCLK的上沿锁存数据并输出到总线上。将PCLK反相,作为/WD信号,使得在/WD的上升沿地址和数据稳定,确保写入数据的有效性。

3、控制器主要功能的VHDL描述 描述控制器中全部功能的VHDL代码较长,而且有些部分是常用的(如计数器等)。图像采集状态产生和同步信号的检测是其中重要的部分。下面介绍这两部分的VHDL描述。

图像采集状态 capture_s: 处理器的采集请求信号capture_r使capture_s从‘0’到‘1’,场地址发生器(计数器)的溢出位vcount_o,清除capture_s。

process(capture_r, reset, vcount_o)begin if reset='0' or vcount_o='1' then capture_s<='0';--清除

else if capture_r'event and capture_r='0' then capture_s<='1';--置状态位

end if;end process;同步信号检测:

只有在采集状态capture_s有效时(‘1’)才检测场同步信号,场同步信号下降沿置场有效状态(vsync_s),场地址发生器溢出位vcount_o清除场有效状态。只有在vsync_s有效情况下才检测行同步信号,行同步信号下降沿置行有效状态(hsync_s),行计数器溢出信号hcount_o清除行状态。只有在行状态有效的情况下计数器才工作,且将数据写入RAM。

Process(capture_s,reset,vcount_o, vsync)Begin If reset='0' or vcount_o='1' or capture_s='0' then Vsync_s<='0';--清除

Else if vsync'event and vsync='0' then Vsync_s<='1';--置状态位

End if;End process;Process(vsync_s, reset, hcount_o, hsync)Begin If vsync_s='0' or reset='0' or hcount_o='1' then Hsync_s<='0';--清除

Else if hsync'event and hsync='0' then Hsync_s<='1';--置状态位

End if;End process;

五、讨论

我们在基于TI公司的TMS320C3X系列DSP开发的嵌入式指纹图像处理模块中分别用上述两种方法成功实现了指纹图像的采集。

采用I/O接口方式最关键的是要求处理器的频率远高于图像数据输出的频率。例如,如果处理的指令周期为20ns,读取每个数据需要10个指令周期,则数据的输出频率不能超过5MHz,它低于一般的CMOS图像传感器件最快的数据输出频率。例如国内使用较多的OV7610和OV7620,其正常输出数据频率为13.5MHz。在应用过程中,通常改变传感器中寄存器的设置值,降低其数据输出频率。本文选用的是CMOS数字输出图像传感器。对于模拟视频信号,在设计时应加同步分离和A/D转换电路。图像采集的数字接口和逻辑控制与本文相同。

在我们系统中所采集的是单色图像,如果采集彩色图像逻辑设计是相同的所不同的只是数据宽度和后期处理方式。

具体应用中可根据需求对上述设计进行修改以满足不同的要求。

第二篇:模拟电路设计经验总结2006

模拟电路设计经验总结2006-12-3 16:59:00

模拟电路的设计是工程师们最头疼、但也是最致命的设计部分,尽管目前数字电路、大规模集成电路的发展非常迅猛,但是模拟电路的设计仍是不可避免的,有时也是数字电路无法取代的,例如 RF 射频电路的设计!这里将模拟电路设计中应该注意的问题总结如下,有些纯属经验之谈,还望大家多多补充、多多批评指正!...(1)为了获得具有良好稳定性的反馈电路,通常要求在反馈环外面使用一个小电阻或扼流圈给容性负载提供一个缓冲。

(2)积分反馈电路通常需要一个小电阻(约 560 欧)与每个大于 10pF 的积分电容串联。

(3)在反馈环外不要使用主动电路进行滤波或控制 EMC 的 RF 带宽,而只能使用被动元件(最好为 RC 电路)。仅仅在运放的开环增益比闭环增益大的频率下,积分反馈方法才有效。在更高的频率下,积分电路不能控制频率响应。

(4)为了获得一个稳定的线性电路,所有连接必须使用被动滤波器或其他抑制方法(如光电隔离)进行保护。

(5)使用 EMC 滤波器,并且与 IC 相关的滤波器都应该和本地的 0V 参考平面连接。

(6)在外部电缆的连接处应该放置输入输出滤波器,任何在没有屏蔽系统内部的导线连接处都需要滤波,因为存在天线效应。另外,在具有数字信号处理或开关模式的变换器的屏蔽系统内部的导线连接处也需要滤波。

(7)在模拟 IC 的电源和地参考引脚需要高质量的 RF 去耦,这一点与数字 IC 一样。但是模拟 IC 通常需要低频的电源去耦,因为模拟元件的电源噪声抑制比(PSRR)在高于 1KHz 后增加很少。在每个运放、比较器和数据转换器的模拟电源走线上都应该使用 RC 或 LC 滤波。电源滤波器的拐角频率应该对器件的 PSRR 拐角频率和斜率进行补偿,从而在整个工作频率范围内获得所期望的 PSRR。

(8)对于高速模拟信号,根据其连接长度和通信的最高频率,传输线技术是必需的。即使是低频信号,使用传输线技术也可以改善其抗干扰性,但是没有正确匹配的传输线将会产生天线效应。

(9)避免使用高阻抗的输入或输出,它们对于电场是非常敏感的。

(10)由于大部分的辐射是由共模电压和电流产生的,并且因为大部分环境的电磁干扰都是共模问题产生的,因此在模拟电路中使用平衡的发送和接收(差分模式)技术将具有很好的 EMC 效果,而且可以减少串扰。平衡电路(差分电路)驱动不会使用 0V 参考系统作为返回电流回路,因此可以避免大的电流环路,从而减少 RF 辐射。

(11)比较器必须具有滞后(正反馈),以防止因为噪声和干扰而产生的错误的输出变换,也可以防止在断路点产生振荡。不要使用比需要速度更快的比较器(将 dV/dt 保持在满足要求的范围内,尽可能低)。

(12)有些模拟 IC 本身对射频场特别敏感,因此常常需要使用一个安装在 PCB 上,并且与 PCB 的地平面相连接的小金属屏蔽盒,对这样的模拟元件进行屏蔽。注意,要保证其散热条件。

第三篇:嵌入式系统语音采集与播放程序设计

ARM9嵌入式系统课程设计

--嵌入式系统语音采集与播放程序设计

班级: 学号: 姓名:

指导老师:

课程设计时间:2011.6.29---2011.7.8

江苏大学

目录

第一章 引言.........................................................1 1.1 设计目的......................................................1 1.2 设计任务与要求................................................1 第二章 课程设计平台构建与流程.......................................2 2.1 嵌入式系统平台构建............................................2 2.2 课程设计流程..................................................3 2.3 课程设计硬件结构与工作原理...................................3 第三章 BOOTLOADER移植与下载.......................................11 3.1 VIVI源代码安装...............................................11 3.2 VIVI源代码分析与移植.........................................11 3.3 VIVI编译与下载...............................................12 第四章 LINUX内核移植与下载........................................14 4.1 LINUX内核源代码安装..........................................14 4.2 LINUX内核源代码分析与移植....................................14 4.3 LINUX内核编译与下载..........................................15 第五章 课程设计功能模块程序设计与交叉编译..........................24 5.1 课程设计模块功能.............................................24 5.2 功能模块驱动程序设计.........................................24 5.3 功能模块交叉编译.............................................28 第六章 根文件系统建立与文件系统下载................................29 6.1 根文件系统分析...............................................29 6.2 文件系统映像文件生成.........................................30 6.3 文件系统下载.................................................31 6.4 功能模块运行与调试...........................................32 第七章 课程设计总结与体会..........................................34 7.1 得出的结论...................................................34 7.2课程设计过程中遇到的问题及解决方法...........................34 7.3 心得体会.....................................................34 参考文献...........................................................36

第一章 引言

1.1 设计目的

分析Linux操作系统下音频设备驱动的结构,编写应用测试程序,实现UDA1341芯片的实时录音及放音功能,进一步熟悉vivi、Linux内核和根文件系统的编译和烧写至开发板的开发流程。

1.2 设计任务与要求

在Samsung公司S3C2410处理器的edukit-Ⅲ开发板上,在嵌入式linux操作系统环境下,根据语音芯片UDA1341的驱动程序和语音数据的特点编写语音采集与播放的应用测试程序,实现语音数据的采集和实时播放功能。1.要求本系统实时的采集与播放

2.通过麦克风录制一段语音信息,对其进行播放 第二章 课程设计平台构建与流程

2.1 嵌入式系统平台构建

2.1.1软件部分

1)Linux或Windows 98/2000/NT/XP 2)cygwin cygwin是一个在windows平台上运行的unix/Linux模拟环境,是cygnus solutions公司开发 3)Embest IDE 英蓓特提供的一个嵌入式开发的集成环境。4)windows中的超级终端

5)Embest online Flash Programmer for ARM 烧写相关文件到NorFlash中的工具。

6)建立linux的交叉编译环境,各项源代码的安装等 2.1.2硬件部分

1)EduKit-II实验平台 2)S3C2410核心子板 3)PC机 2.2 课程设计流程

图2.1 设计流程

2.3 课程设计硬件结构与工作原理

2.3.1硬件模块(1)

SCLLRCIIS控制器SDOSDIMCL 图2.2 典型的IIS总线上的设备

(2)IIS总线结构

IIS总线只处理声音数据,其他控制信号等则需单独提供。IIS总线使用3根串行总线,分别是:提供分时复用功能的SD线(Serial data,串行数据),WS线(Word select,字段选择(声道选择))和SCK线(Continuous Serial clock,连续的时钟信号)。

音频编解码4 ADDRTxFIFODATASFTRBRFCRxFIFOSDCNTLCHHCSCLKIPSR_APCLKIPSR_BSCLKGLRCKCDCLK

图2.3 IIS总线接口内部结构

S3C2410A IIS总线接口各模块的功能描述如下:

● BRFC 表示总线接口、寄存器区和状态机。总线接口逻辑和FIFO访问由状态机控制。

● IPSR 表示两个5位的前置分频器ISPR_A和ISPR_B,一个前置分频器作为IIS总线接口的主时钟发生器,另一个前置分频器作为外部音频编解码器CODEC的时钟发生器。

● TxFIFO和RxFIFO 表示两个64字节的FIFO。在发送数据时,数据写到TxFIFO,在接收数据时,数据从RxFIFO读取。

● SCLKG 表示主IISCLK发生器。在主设模式时,由主时钟产生串行位时钟。● CHNC 表示通道发生器和状态机。通道状态机用于产生和控制IISCLK和IISLRCK。

● SFTR 表示16位移位寄存器。在发送模式时,并行数据移入SFTR并转换成串行数据输出;在接收模式时,串行数据移入SFTR并转换成并行数据输出。具体的相关寄存器的位功能描述请参观相关资料。2.3.2 工作原理

常用的数字音频处理集成电路包括A/D、D/A、DSP、数字滤波器和数字音频I/O接口及设备(麦克风、话筒)等。麦克风输入的模拟音频信号经A/D转换、音频编码器实现模拟音频信号到数字音频信号转换,编码后的数字音频信号通过控制器送入DSP或微处理器相应的处理。音频输出时,数字音频信号(音频数据)经控制器给音频解码器,经D/A转换后由扬声器输出。

数字音频涉及概念很多,重要的是理解:采样和量化。采样就是每隔一定时间读一次声音信号的幅度,而量化则是将采样得到的声音信号幅度转换为数字值。从本质上讲,采样是时间上的数字化,而量化则是幅度上的数字化。

根据奈奎斯特(Nyquist)采样理论采样频率应高于输入信号的最高频率两倍。为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,要达到DVD的音质需要采用更高的采样频率。

量化是对模拟音频信号的幅度数字化,量化位数决定模拟信号数字化以后的动态范围,常用的有8位、12位和16位。量化位越高,信号的动态范围越大,数字化后的音频信号就越接近原始信号,但所需要的存储空间也越大。

声道有单声道、双声道和多声道。双声道又称立体声,在硬件中有两条线路,音质和音色都优于单声道,但数字化后占据的存储空间的大小要比单声道多一倍。多声道能提供更好的听觉感受,不过占用的存储空间也更大。

数字音频数据有PCM、MP3、WMA、WAV、Ogg Vorbis、RA、AAC、ATRAC 3等多种不同的文件格式。

1)IIS总线

IIS总线(IIS,Inter-IC Sound Bus,数字音频集成电路通信总线)是Philip公司提出的音频总线协议,它是一种串行的数字音频总线协议,是音频数据编码或解码常用的串行音频数字接口。

(1)IIS总线的传输模式

数据的发送方和接收方需要采用相同的时钟信号来控制数据传输,数据传输方(主设)必须产生字段选择信号、时钟信号和需要传输的数据信号。在一个复杂的数字音频系统中,可能会有多个发送方和接收方,通常采用系统主控制模式,主控制模块控制数字音频数据在不同集成电路(设备)间的传输,数据发送方就需要在主控制模块的协调下发送数据。IIS总线的三种传输模式如图2、3、4所示,这些模式的配置一般需通过软件来实现。

clock SCKTRANSMITTERword select WSdata SDRECEIVERTRANSMITTER=MASTER

图2.4发送器为主设时的传输模式

clock SCKTRANSMITTERword select WSdata SDRECEIVERRECEIVER=MASTER

图2.5 接收器为主设时的传输模式

CONTROLLERclock SCKTRANSMITTERword select WSdata SDRECEIVERCONTROLLER=MASTER

图2.6 控制器为主设时的传输模式(2)IIS总线时序 1串行数据(SD)○串行数据的传输由时钟信号同步控制,且串行数据线每次传输1字节的数据。当音频数据被数字化成二进制流后,传输时先将数据分成字节(如8位、16位等),每个字节的数据传输从左边的二进制位MSB(Most Significant Bit)开始。当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段宽度小于系统字段宽度,就在低位补0;如果发送方的数据字段宽度大于接收方的宽度,则超过LSB(Least Significant Bit)的部分被截断。

2字段选择(WS)○音频系统一般包含有左右两个声道,字段选择(WS)用来选择左声道或者右声道,WS=0表示选择左声道;WS=0表示选择左声道。如果不在外部加以控制,WS会在MSB传输前的一个时钟周期发生变化,使数据接收方和发送方保持同步。此外,WS能让接收设备存储前1字节,并且准备接收后1字节。

3时钟信号(SCK)○在IIS总线中,任何一个能够产生时钟信号的电路都可以称为主设备,从设备从外部时钟输入得到时钟信号。IIS的规范中制定了一系列关于时钟信号频率和延时的限制。

图2.7 IIS总线时序

(3)IIS总线接口的工作方式

IIS总线接口是用来连接外部的标准编解码器(CODEC)的接口。S3C2410A提供一个IIS总线接口,能用来连接一个外部8/16位立体声音频CODEC,支持IIS 总线数据格式和MSB-justified数据格式。该接口对FIFO的访问提供DMA传输模式,而不是采用中断模式。它可以同时发送数据和接收数据,也可以只发送或只接收数据。在只发送和只接收模式,S3C2410A的IIS总线接口有以下三种工作方式。

1正常传输方式 ○在正常传输方式,对于发送和接收FIFO,IIS控制寄存器有一个FIFO就绪标志位。当FIFO准备发送数据时,如果发送FIFO不空,则FIFO就绪标志位为“1”;如果发送FIFO为空,该标志为“0”。在接收数据时,当接收FIFO是不满时,FIFO就绪标志位为“1”,指示可以接收数据;若接收FIFO满,则该标志为“0”。通过FIFO就绪标志位,可以确定CPU读/写FIFO的时间。

2DMA传输方式 ○在DMA传输方式,利用DMA控制器来控制发送和接收FIFO的数据存取,由FIFO就绪标志来自动请求DMA的服务。

3发送和接收方式 ○在发送和接收方式,IIS总线接口可以同时发送和接收数据。(4)S3C2410A IIS总线接口的音频串行接口格式

S3C2410A的IIS总线接口支持IIS总线数据格式和MSB-justified数据格式。IIS总线格式 ○IIS总线有IISDI(串行数据输入)、IISDO(串行数据输出)、IISLRCK(左/右通道选择)和IISCLK(串行位时钟)4条线,产生IISLRCK和IISCLK信号的为主设备。串行数据以2的补码发送,首先发送是MSB位。首先发送MSB位可以使发送方和接收方具有不同的字长度,发送方不必知道接收方能处理的位数,同样接收方也不必知道发送方正发来多少位的数据。

当系统字长度大于发送器的字长度时,数据发送时,字被切断(最低数据位设置为0)发送。接收器接收数据时,如果接收到的数据字长比接收器的字长更长时,则多的数据位被忽略。另一方面,如果接收器收到的数据位数比它的字长短时,则缺少的位设置为0。因此,MSB有固定的位置,而LSB的位置与字长度 有关。在IISLRCK发生改变的一个时钟周期,发送器发送下一个字的MSB位。

发送器发送的串行数据可以在时钟信号的上升沿或下降沿同步。然而,串行数据必须在串行时钟信号的上升沿锁存到接收器,所以发送数据使用上升沿进行同步时会一些限制。

左右通道选择线指示当前正发送的通道。IISLRCK可以在串行时钟的上升沿或者下降沿改变,不需要同步。在从模式,这个信号在串行时钟的上升沿被锁存。IISLRCK在MSB位发送的前一个时钟周期内发生改变,这样可以使从发送器同步发送串行数据。另外,允许接收器存储前一个字,并清除输入以接收下一个字。

2MSB-justified数据格式 ○MSB-justified总线格式在体系结构上与IIS总线格式相同。与IIS总线格式唯一不同的是,只要IISLRCK有变化,MSB-justified格式要求发送器总是发送下一个字的最高位。

2)音频编解码芯片UDAl341TS UDA1431TS可把通过麦克风音频输入通道输入的立体声模拟信号转化为IIS格式的数字信号,传送给S3C2410的IIS控制器,然后CPU使用DMA控制器把得到的数字信号存放的一块内存空间上;同样DMA控制器也能把已存的数字信号通过IIS格式发送给UDAl341TS芯片,由该芯片转换成模拟信号,通过耳机音频输出通道输出。利用UDA1341TS内部的PGA(可编程增益放大器)、AGC(自动增益控制)功能对模拟信号进行处理。对于数字信号,UDA1341TS提供DSP(数字音频处理)功能。

S3C2410A的IIS接口线分别与UDA1431TS的BCK、WS、DATAI、SYSCLK相连。当UDA1431TS芯片工作在微控制器输入模式时,使用UDA1431TS的L3总线(L3DATA、L3MODE和L3CLOCK)。L3DATA、L3MODE和L3CLOCK分别表示与微处理器接口的数据线(L3DATA)、模式控制线(L3MODE)和时钟线(L3CLOCK)。微控制器通过对UDA1431TS中的数字音频处理参数进行配置。S3C2410A没有与L3总线配套的专用接口,可以利用通用I/O口进行控制。第三章 Bootloader移植与下载

3.1 Vivi源代码安装

进入cygwin,Vivi源代码的安装:

$> source /tmp/edukit-2410/set_env_linux.sh// Linux编译环境变量设置,第一次打开Cygwin必须设置。

$> cd $WORKDIR $> tar-xvjf /tmp/edukit-2410/source/vivi/vivi-20030929.tar.bz2 $> ls

„ vivi „ „为$WORKDIR目录下其他内容

正确解压后,可以看到多了一个vivi目录,即vivi源代码的安装目录,后面的vivi配置及编译都得进入vivi目录进行。再为EduKit2410实验系统打入vivi源代码的补丁文件:

$> cd vivi $> patch-p1

vivi的代码包括arch,init,lib,drivers和include等几个目录,共200多条文件。

Vivi主要包括下面几个目录:

arch:此目录包括了所有vivi支持的目标板的子目录,例如s3c2410目录。drivers:其中包括了引导内核需要的设备的驱动程序(MTD和串口)。MTD目录下分map、nand和nor三个目录。

init:这个目录只有main.c和version.c两个文件。和普通的C程序一样,vivi将从main函数开始执行。lib:一些平台公共的接口代码,比如time.c里的udelay()和mdelay()。include:头文件的公共目录,其中的s3c2410.h定义了这块处理器的一些寄存器。Platform/smdk2410.h定义了与开发板相关的资源配置参数,我们往往只需要修改这个文件就可以配置目标板的参数,如波特率、引导参数、物理内存映射等。

3.3 Vivi编译与下载

1)Vivi源代码的编译

然后执行以下命令进行编译:

$> source /tmp/edukit-2410/set_env_linux.sh Linux编译环境变量设置

$> cd $WORKDIR/vivi $> make clean

图3.1 vivi编译

$> make menuconfig输入配置smdk2410-amd:Nor Flash boot

smdk2410:Nand boot

图3.2 图形界面下配置内核文件

其中,运行make menuconfig后,选择Load an Alternate Configuration file,配置文件名称如下:

smdk2410:编译 vivi 在 Nand Flash(K9S5608)中运行; smdk2410-amd:编译 vivi 在 Nor Flash(AM29LV160DB)中运行。这两个配置文件在usrlocalsrcedukit-2410viviarchdef-configs中,须复制

到usrlocalsrcedukit-2410vivi中;或者可以在 menuconfig 中输入全部路径。配置好后,输入:$> make

图3.3 vivi映像文件生成

如果编过程中没有出现错误,则编译后的执行文件存放于 vivi 目录下。2)下载:

在下载模式下,vivi为用户提供一个命令行人机接口,通过人机接口可使用vivi提供的一些命令。如嵌入式系统没有键盘和显示,可以利用vivi中的串口,将其和宿主机连接起来,利用宿主机中的串口软件(如Windows中的超级终端或Linux中的minicom)来控制。第四章 Linux内核移植与下载

4.1 Linux内核源代码安装

linux源代码安装

运行cygwin,执行以下命令完成cygwin 环境下的Linux源代码的安装: $> source /tmp/edukit-2410/set_env_linux.sh Linux编译环境变量设置

$> cd $WORKDIR $> tar –xvjf /tmp/edukit-2410/linux-2.4.18-rmk7-pxa1-mz5-i2c.tar.bz2 $> ls „ kernel „ „为$WORKDIR 目录下其他内容

图4.1 linux内核安装

正确解压后,相比之前可以看到多了一个kernel目录,即kernel源代码的安装目录,后面的Linux配置及编译都得在kernel目录进行。

实验中提供的linux内核已经包含了Linux源代码的补丁文件、I2C和网络驱动模块

4.2 Linux内核源代码分析与移植

4.2.1 Linux源代码分析

Linux内核由5个主要的子系统组成。这5个子系统分别是进程调度(SCHED)、内存管理(MM)、虚拟文件系统(Virtual File System,VFS)、网络接口(NET)和进程间通信(IPC)。

进程调度控制着进程对CPU的访问。当需要选择下一个进程运行时,由调度 程序选择最值得运行的进程。可运行进程实际是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。

内存管理允许多个进程安全地共享主内存区域。Linux的内存管理支持虚拟内存,即在计算机中运行的程序,其代码、数据和堆栈的总量可以超过实际内存的大小,操作系统只将当前使用的程序块保留在内存中,其余的程序块则保留在磁盘上。必要时,操作系统负责在磁盘和内存之间交换程序块。内存管理从逻辑上可以分为硬件无关的部分和硬件相关的部分。硬件无关的部分提供了进程的映射和虚拟内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。

虚拟文件系统隐藏了各种不同硬件的具体细节,为所有设备提供了统一的接口,虚拟文件系统还支持多达数十种不同的文件系统,这也是Linux较有特色的部分。虚拟文件系统可分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2、fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。

网络接口提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序两部分。网络协议部分负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备进行通信,每一种可能的硬件设备都有相应的设备驱动程序

4.2.2 Linux内核及硬件模块驱动移植

内核和文件系统、图形用户系统(GUI窗口系统)可以分开,它们的开发、移植、下载甚至运行都是可以分开的。内核移植是一个比较复杂的任务,也是嵌入式系统开发中非常重要的一个过程。内核移植一般包括内核配置、内核编译和内核下载3大步骤。

4.3 Linux内核编译与下载

4.3.1 Linux内核源代码安装

运行cygwin,执行以下命令完成cygwin环境下的Linux内核源代码的安装: $> source /tmp/edukit-2410/set_env_linux.sh //Linux 编译环境变量设置 $> cd $WORKDIR $> tar –xvjf /tmp/edukit-2410/linux-2.4.18-rmk7-pxa1-mz5-i2c.tar.bz2 $> ls „ kernel „ //„为$WORKDIR 目录下其他内容

正确解压后,可以看到多了一个kernel目录,即kernel内核源代码的安装目录,后面的Linux内核配置及编译都得进入kernel目录进行。实验中提供的linux内核已经包含了Linux源代码的补丁文件、IIC和网络驱动模块。4.3.2 Linux内核的编译 $> cd kernel

图4.2 $> make mrproper 清除所有的旧的配置和旧的编译目标文件等 $> make xconfig 在图形界面下对内核进行配置(配置方法之一)执行make xconfig 后,弹出如图4.3的内核定制界面:

图4.3 内核定制界面

选择按钮”Load Configuration from File”,如图4.4输入smdk2410:

图4.4 内核配置文件

选择配置sound ,设置Sound support为y:

设置BT878 audio dma为y: 设置SMDK-2410 audio support为y:

设置OSS sound modules为y:

根据提示加载配置文件后,点击按钮”Store Configuration to File”,如图4.5输入audio1:

图4.5 存储配置文件

保存,Save and Exit。如图4.6

图4.6 $> make dep //搜索Linux编译输出与源代码之间的依赖关系并生成依赖文件。

图4.7

$> make clean //清除构造内核时生成的目标文件、模块文件和临时文件。$> make zImage //生成压缩的内核映像文件。

图4.8 编译通过后,在/usr/local/src/edukit-2410/kernel/arch/arm/boot/目录下生成内核的压缩映像文件为“zImage”,此文件是最后要烧写到开发板的内核映像文件。

4.3.1 Linux内核下载

内核下载:

1)启动超级终端(波特率为115200),连好串口线,在开机瞬间快速按空格键,进入vivi控制台命令行下;打开S3C2410&NandFlash_vivi.cfg,在Flash Programmer的Progarm页中选择:vivi.bon&load.bin文件进行烧写。如图4.9

图4.9 烧写界面

点击按钮Progarm开始烧写,直到烧写成功;连接串口到PC机COM1,运行成功;连接串口线到 PC 机 COM1,运行光盘中提供的 Windows 超级终端 Hyper Terminal.ht;开发板重新加电,程序运行后,在超级终端上可以看到串口输出类似以下信息:

图4.10 超级终端界面

看到以上信息后,表示正在等待用户从超级终端下载文件。这时,请点击超 级终端菜单“传送”选择 Xmodem 方式下载 vivi.nand 文件,点击 OK 后等待下载烧写结束即可。

图4.11 添加传送文件

图4.12 下载vivi nada 2)在vivi启动等待中,敲入空格键进入vivi界面环境,并输入以下命令: vivi> load flash kernel x <回车> 烧写更新内核约4分钟即可烧写完毕,如图4.13

图4.13 等待下载

3)立即选择要发送的文件,比如zImage文件,这里Linux环境下源代码arch/arm/boot目录下的zImage内核映像文件已转移到 windows某目录下。要选择合适的xmodem协议。以上操作完成 后,单击“发送,几分钟后即可发送完毕。

图4.14 发送zImage

图4.15 下载成功 第五章 课程设计功能模块程序设计与交叉编译

5.1 课程设计模块功能

5.1.1 三个模块:

I2S音频总线接口电路 ;音频编解码器芯片udal41; DMA控制器; 5.1.2工作过程:

麦克风输入的模拟音频信号在音频编解码器中经过A/D转换和编码将模拟信号转换成数字信号,将这些数字信号先传给I2S音频总线接口电路中的FIFO,再由DMA控制器送入DSP中做相应的处理,这是录音的过程;DMA控制器将DSP中存储的信号传送给I2S音频总线接口电路中的FIFO,再发送给音频编解码芯片进行D/A转换,通过耳机输出模拟信号。

5.2 功能模块驱动程序设计

5.2.1 关于驱动结构体

由于目前许多硬件厂商在出售各种产品时,一般都不带Linux下的设备驱动程序,而且编写驱动程序的工作量占整个系统工作量的很大的一部分,这使得Linux下设备驱动程序的开发变得越来越重要。

本课程设计不要求自己编写驱动程序,但要求分析UDAl341TS驱动程序,以便编写出语音采集与播放的应用测试程序,同时为以后编写驱动程序打好基础。嵌入式Linux系统下的IIS音频驱动程序是在/usr/local/src/edukit-2410/drivers/sound 中,3c2410-uda1341.c 文件即是。

关于结构体:

在音频驱动程序中有2个比较重要的结构体: typedef struct { int size;/* buffer size */ char *start;/* point to actual buffer */(内存虚拟地址起始地址)dma_addr_t dma_addr;/* physical buffer address */(内存物理地址起始地址)

struct semaphore sem;/* down before touching the buffer */ int master;/* owner for buffer allocation, contain size when true */(内存大小)

} audio_buf_t;typedef struct { audio_buf_t *buffers;/* pointer to audio buffer structures */ audio_buf_t *buf;/* current buffer used by read/write */ u_int buf_idx;/* index for the pointer above */ u_int fragsize;/* fragment i.e.buffer size */(音频缓冲区片大小)

u_int nbfrags;/* nbr of fragments */(音频缓冲区片数量)dmach_t dma_ch;/* DMA channel(channel2 for audio)*/ } audio_stream_t;audio_stream_t是一个管理多缓冲区的结构体,为音频流数据组成了一个环形缓冲区。audio_buf_t管理一段内存,audio_stream_t管理N个audio_buf_t。

音频驱动的两个file_operations结构定义如下: static struct file_operations smdk2410_audio_fops = { llseek: smdk2410_audio_llseek, write: smdk2410_audio_write, read: smdk2410_audio_read, poll: smdk2410_audio_poll, ioctl: smdk2410_audio_ioctl, open: smdk2410_audio_open, release: smdk2410_audio_release };static struct file_operations smdk2410_mixer_fops = { ioctl: smdk2410_mixer_ioctl, open: smdk2410_mixer_open, release: smdk2410_mixer_release };这里定义了两种类型设备的file_operations结构,前者是DSP设备,后者是混频器设备。Linux 内核内部通过file结构识别设备,通过file_operations数据结构体提供文件系统的入口点函数,也就是访问设备驱动程序里的函数。file_operations结构体原型是在 中定义的函数指针表。5.2.2关于函数:

read()、write()、open()和ioctl()是struct file_operations结构体中的接口函数。

1)read()函数:由已打开的文件读取数据,即播放。

(1)函数定义:ssize_t read(struct file *file, char *buffer, size_t count, loff_t * ppos);(2)函数说明:把参数file所指的文件传送count个字节到buffer指针所指的内存中;若参数count为0,则read()不会有作用并返回0;(3)返回值:返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。如果正确会返回实际读到的字节数,最好能将返回值与参数count作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期;2)write()函数:将数据写入已打开的文件内,即录音。

(1)函数定义:ssize_t write(struct file *file, const char *buffer, size_t count, loff_t * ppos);(2)函数说明:把参数buffer所指的内存写入count个字节到参数file所指的文件内。当然,文件读写位置也会随之移动;(3)返回值:若正确会返回实际写入的字节数;当有错误发生时则返回-1,错误代码存入errno中。

3)open()函数:打开音频设备。

(1)函数定义:int(*open)(struct inode *inode, struct file *file);(2)函数说明:参数inode为设备特殊文件的incode(索引结点)结构的指针,参数file是指向这一设备的文件结构的指针。open()的主要任务是确定硬件是否处在就绪状态,验证次设备号的合法性,控制使用设备的进程数;

(3)返回值:如果打开文件成功,open会返回一个文件描述符,以后对文件的所有操作就可以对这个文件描述符进行操作。比如程序中open()函数的返回值赋给了应用程序中的devfd,后面则可以对其进行操作;若打开失败返回负数。

4)ioctl()函数:用于设置编码比特、采样频率和选择声道。(1)函数定义:int ioctl(struct inode *inode, struct file *file,unsigned int cmd, unsigned long arg);(2)函数说明:设备驱动程序中对设备的I/O通道进行管理的特殊控制函数,可以通过它向设备传递控制信息或从设备取得状态信息,实现用户程序命令和驱动命令的相互联系;

(3)返回值:执行成功返回正数,失败返回-1。

5)s3c2410_uda1341_init()函数:动态加载驱动模块时的初始化函数。(1)函数定义:int __init s3c2410_uda1341_init(void);

(2)函数说明:该函数首先会初始化I/O和UDA1341 芯片,然后申请2个DMA 通道用于音频传输。将输出音频缓冲区的DMA通道设为通道2,输入音频缓冲区的DMA 通道设为通道1。最后调用register_sound_dsp()和register_sound_mixer()两个函数来分别注册驱动设备;

(3)返回值:初始化成功,返回0;DMA 通道初始化设置失败,返回负数。6)void __exit s3c2410_uda1341_exit()函数:动态卸载驱动模块时调用的函数。

(1)函数定义:void __exit s3c2410_uda1341_exit(void);

(2)函数说明:注销音频设备,分两次调用audio_clear_dma()函数来分 别释放已申请的音频输入和音频输出的DMA 通道;

(3)返回值:无。

5.3 功能模块交叉编译

用命令Makefile来编译:

图5.1 编译测试文件

将test文件拷贝到D:cygwinusrlocalsrcedukit-2410rootbin中 执行以下命令生成新的文件系统映象:

$>cd $WORKDIR/ $>$SOURCEDIR/mkcramfs root root.cramfs.new

图5.2 生成系统映像文件

生成文件系统映象文件root.cramfs.new。第六章 根文件系统建立与文件系统下载

6.1 根文件系统分析

6.1.1 cramfs 目录结构

一个完整的根文件系统通常包含以下几个目录: /bin 应用程序存放目录。

/sbin 系统管理员服务程序,其中最重要的就是供内核初始化之后执行的/sbin/init 进程。

/lib 存放程序运行所需要的动态库。/proc 系统状态文件目录。/dev 驱动程序存放目录。

/etc 系统配置文件及用户数据存放目录。

/mnt 用于设备安装的目录,通常包含etc 子目录和为块设备安装保留目录。/usr 用于存放用户程序和配置文件的目录,可以根据需要进行设置。一般情况下都要把已经规划好的目录结构转换成一个映象文件,即使用命令工具mkcramfs(cygwin下为mkcramfs.exe),把相应的cramfs 目录树压缩为单一的映象文件。其命令格式为:

mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile 使用mkcramfs.exe 在cygwin 下编译生成文件系统映象文件root.cramfs,再固化到开发系统FLASH 上运行。6.1.2 构建cramfs 文件系统

按照本节实验原理中自行构建一个cramfs 文件系统。运行cygwin,执行以下命令解压安装:

$> source /tmp/edukit-2410/set_env_linux.sh //Linux 编译环境变量设置

$> cd $WORKDIR/

图6.1 构建文件系统

$> tar-xvjf /tmp/edukit-2410/root.cramfs.tar.bz2 $> ls „ root „ root 文件夹中就是我们想要的cramfs 文件系统

6.2 文件系统映像文件生成

6.2.1 编译一个应用测试程序test.c 按设计原理要求编写一个应用程序test.c,存放在/home/app/audio目录下,进入该目录后执行以下命令编译链接测试程序:

$> cd /home/app/audio $> make(也可以编写Makefile 来编译)

图6.2 编译test文件

6.2.2 拷贝测试程序到文件系统中,并编译生成文件系统映象

把刚才编译输出的test文件拷贝到文件系统所在的工作目录 root/usr/audio 目录下,执行以下命令生成新的文件系统映象:

$> cd $WORKDIR/ $> $SOURCEDIR/mkcramfs root root.cramfs.new

图6.3 生成映象

刚刚编译生成的文件系统映象root.cramfs.new 中已经包含测试程序。

6.3 文件系统下载

(1)首先SW104 设为短接(从Nand Flash 启动),确定已经成功烧写vivi 和linux kernel,加电运行可以看到vivi 启动信息,输入空格进入命令状态;

(2)双击运行Download.pjf 工程文件(将启动Embest IDE 环境),点击连接Remote connect,程序应该正在运行(此时命令按钮STOP 为红色);在超级终端输入help 看看有没有反应,如果没反应,点击IDE 按钮:Reset->Start(F5);再输入help 测试,直到有反应为止;

(3)如果超级终端可以输出一些信息,再点击IDE 中的Stop,配置Debug 的Download 地址为0x30000000,并点击IDE 菜单Project 选择Settings 项,在Download 页下拉Category 到Download 项,在Download File 选择root.cramfs.new 文件,路径为d:Cygwinusrlocalsrcedukit-2410点击确定后:

图6.4 选择加载的文件

首先点击IDE 菜单DEBUG 选择Download 下载文件系统映象 约1-2 分钟

图6.5 下载成功

其次下载完毕后,点击Start(F5)然后在超级终端里输入:load flash root j(烧写更新文件系统)

图6.6 烧写

注意:只能在“vivi的烧写”和linux内核操作完成后,才可以按以上方法正确烧写root映象到NandFlash。重起实验板,观测超级终端窗口提示信息,引导整个系统启动到linux行命令输入状态。在超级终端输入一些linux命令查看执行结果是否正确。

6.4 功能模块运行与调试

重新加电,在超级终端根据提示启动Linux,按提示输入cd bin、./test指令。

图6.7 输入指令

图6.8 在控制台下运行测试程序

程序执行完后。如图6.9。

图6.9 程序运行时超级终端的输出

第七章 课程设计总结与体会

7.1 得出的结论

通过按上述步骤执行相关应用程序,可以实现对语音的实时采集和播放。需改进的地方:通过录制一段语音信息,录制完成后再播放

7.2课程设计过程中遇到的问题及解决方法

1.在给vivi打补丁时,$> patch-p1

2.在图形界面下进行内核配置时按实验指导书配置导致少了sound这一步导致出错。

3.重新在图形界面下配置后,发现无法生成压缩映像文件。请教研究生后解决了。原来之前配置错误生成了boot文件夹,要把之前boot删掉后重新编译。4.在调试时输入cd bin,./test指令后超级终端无反应。查找后发现,原来在根文件系统编译时没把生成的test文件复制到文件系统所在的工作目录root/bin目录下。重新编译后把生成的test文件复制后在调试后可以进行录放测试。

7.3 心得体会

课程设计刚开始的时候,思绪全无,我真的感到 “书到用时方恨少”,所以又重新把书和实验指导看了几遍,对知识系统而全面进行了梳理,对许多不理解的地方通过上网搜索翻阅图书弄懂,终于熟练掌握了基本理论知识,而且领悟诸多平时学习没有注意到的细节步骤,学会了如何思考的思维方式,找到了设计的灵感。

虽然每天要顶着30多度的高温在宿舍跟实验室之间往返,流了不少汗水,感觉确实不舒服,可最后看到自己的成果后心里很充实很高兴。

在课程设计过程中遇到了这样那样的困难。有时候是电脑出问题了,有时候

是实验箱出毛病,有时候是自己在操作过程中操作错误无法继续,可在研究生学长和其他同学的帮忙下都一一解决。使我深深感觉到团队力量的强大。

最后再次感谢陈老师这学期兢兢业业地给我们传授知识,感谢三位研究生牺牲自己的时间在炎热的夏天帮助我们解决遇到的问题!

参考文献

[1]徐英慧,等.ARM9嵌入式系统设计——基于S3C2410与Linux[M].北京:北京航空航天大学出版社,2007.[2]于明,等.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.[3]田泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天大学出版社,2006.[4]孙天泽,等.嵌入式设计及Linux驱动开发指南——基于ARM9处理器[M].2版.北京:电子工业出版社,2007.[5]周立功,等.ARM9&WinCE实验与实践——基于S3C2410[M].北京:北京航空航天大学出版社,2007.[6]Samsung Electronics.S3C2410A-200MHz

&

266MHz

32-Bit

RISC Microprocessor USER’S MANUAL Revision 1.0.http://www.xiexiebang.com [7]魏洪兴.嵌入式系统设计师教程[M].北京:清华大学出版社,2006.[8]张纪坤,等.嵌入式Linux系统开发技术详解——基于ARM[M].北京:人民邮电出版社,2006.[9]吴明辉,等.基于ARM的嵌入式系统开发与应用[M].北京:人民邮电出版社,2004.[10]王田苗.嵌入式系统设计与实例开发[M].2版.北京:清华大学出版社,2003.[11]俞建新,等.嵌入式应用程序开发综合实验9例[M].北京:清华大学出版社,2004.[12]许海雁,等.嵌入式系统技术与应用[M].北京:机械工业出版社,2002.36

第四篇:各系统接口(推荐模版)

各系统的接口及需要协调处理的业务

一、供应部

主要原材料计划使用表生产部到货通知备品备件计划采购单采购合同合同送审书变更送审书使用部门入库单卸车验收通知单采购管理使用资金申请单费用报销审核单储运部企划部原料检验报告单各项支出预计明细表财务部质管部

1、需要各生产分厂或部门每月做采购计划,如果各生产分厂或部门每次在需要时才做采购计划,而且需求比较紧急,这样供应部门总是疲于应付这些“紧急采购”,工作比较被动。各生产分厂及部门可在月底按日常需求做好下一个月的采购计划,供应部门则可以及时安排下月的工作,这样也不影响各部门的正常使用。当然对一些无法预料的计划可在做少量的“紧急采购计划”。

2、需要了解原料库、物资库的库存情况,以及各种物料的最低库存、最高库存、安全库存情况。

3、从质量部门了解到货检验结果。

二、销售部

经营目标生产部生产计划质管部湿浆质检报告单产品提货单成品库存日报磅码单销售管理湿浆提货单付款情况分厂产品发运单产品发运清单销售发票产成品库产品出库清单财务

1、了解成品库的情况。

2、了解生产情况,包括日报及生产计划。

3、需要质量部门对成品浆板及湿浆的检验结果。

4、需要财务部门反馈到货付款情况。

三、质量部

质量管理各需要检验的部门各需要检验结果的部门

四、财务部门

1、需要销售部门的产品发运单、发运清单及销售发票数据。

五、储运部

领料单生产部产品入库单分厂库存定额出库单设备材料采购入库单采购发票采购部仓库管理入库单木片送验单原材料检验通知单财务出库清单XX材料检验报告提货单

1、需要采购系统的采购计划,用来确定到货物资的有效性(是否有此到货的订单)。

2、出库单和入库单与财务部门对帐。质量部销售

六、生产技术部门

生产计划日报表、生产完成情况生产车间仓 库领料单生产计划日报表、生产完成情况销售部物料需求供应部

备品备件计划采购单供应部固定资产明细分类财务部设备管理备品备件计划采购单车间1.设备维修 统计表2.月维修材料 消耗统计表3.月备品备件 更换统计表

1.需要及备品备件库存情况。2.需要成品库库存情况。

3.需要向销售部门提供生产日报。

其他业务问题

1、采购物资入库手续的处理

即采购物资到货(到仓库或生产厂)以后要填写采购收料单、通知检验部门检验、填写入库单,这三个环节由哪个部门负责办理及组织?

2、物料分类及物料档案整理

物料档案是ERP中最基础的元素,从采购、库存、销售到生产、质量、财务都不可缺少的数据,因此物料档案的建立也是最要的一个步骤,物料档案包含了许多属性,比如物料分类、物料名称、编码、规格型号、主计量单位、所属仓库、计划价、参考成本、参考售价、最新入库成本、最新出库成本、最高库存、最低库存等大约四十几个属性,因此物料档案的建立也是一个艰巨而繁重的工作,需要几个部门共同协作才能完成。

3、仓库的盘点

在物料档案完成后,上系统之前要对仓库进行一次认真的盘点,确保帐面与实际库存完全一致,对一些永远都不会用到的物料(比如建厂期间的建材等)进行处理,这样一是可以减少物料档案的建立数量,二是减少数据库的数据量提高运行速度,三是减少不必要的积压库存。对一些无法处理的财务挂帐进行一次性处理,没有必要对这些物资进行不平挂帐。

4、非标设备采购、外协加工等业务流程的系统归属

非标设备采购、外协加工等业务流程基本同采购流程相同,但这部分业务是由生产技术部门来完成,因此在系统程序中就会出现生产技术部同采购部门共用一个采购系统的情况。

第五篇:校舍管理系统数据采集工作经验总结3_20100715

信息管理系统网络版运行试点工作经验总结

各位领导、各位同仁大家上午好!

首先感谢市领导给我们河北区这样一个试点机会。并有幸与大家一起进行交流。

下面我首先介绍一个我区校舍信息管理系统网络版数据采集工作的总体情况。

一、工作介绍

我区自5月10日接到市校安办工作布署,确定我区与南开区作为网络版试点区后,我局领导那迅速采取行动,成立了信息采集工作领导小组,卢建中局长亲自主抓该项工作,并责承专人负责。为确保该项工作能顺利开展,还多次召开小组碰头会研究协调、解决信息采集准备工作中的所遇到的各种困难。正因为有了领导的重视,我区的各项数据采集工作才得以顺利完成。

在培训前的准备期间,市校舍管理中心曾多次召集我们两个试点区的负责工作的同志开会,商讨准备工作中所遇到的各种问题,指导两区想办法、拿方案。

6月11日至12日我们派7个学校参加了市里安排的统一的培训,回来后我们认真总结这七个学校在实际工作经验。负责同志还亲自参与了信息采集的全过程。总结了重要的一手资料。

为确保培训工作能顺利完成,我区根据国家校安办的采

集汇编等资料,结合我区试点单位工作进展情况。编写了《网络版数据录入》、《visio校园平面图制作》、《视频制作规范》、三个讲义。将在实际工作中所遇到的困难,全部收录其中。

有了讲义作保障我们于7月初利用四个上午的时间分中学组和小学组。每组分别进行两次培训。

合成。分别于6月10日,6月29日完成了汇森中学、扶轮中学两所学校的视频样片。经市信息中心两次审核,对我区的视频样片质量上给予了肯定。同时我区根据市信息中心对视频的审核意见编写了《校安工程视频采集规范文本示例((15个字):读政策、挖资源、定标准、求创新、要高效。也就是在熟悉政策的基础上,寻找工作特点,不断挖掘现有资源的可利用性,制定标准,寻求创新、达到高效。

例如:我区研发了《校安工程视频材料辅助生成系统》用于

死水。因而作为基层的主管部门,我们在布臵该项工作时也将一把手作为

我们通过对试点工作进行总结也有许多不足之处,在这里我给大家介绍一下,供各区在信息采集时给予避免。

1、人员协调问题,有的学校正是忙的时候,领导在时工作间上给予保证。

2、基层录像人员的水平不专业、一定要认真研读对视频规范的要求,采集出可以利用的视频资料。在编辑上还要进一步理解编辑思路,解决结构的处理问题。

3、该项工作体现出的校舍的现代化管理方向,使校舍管理更驱向于专业化、信息化。校舍管理涉及面更广,对校管人员的素质要求会更高,该项任务中可以说基层的计算机老师承担了大量的工作。因而校管人员需进一步提高能力。

总之在整个试点任务过程中我们一直牢记市局领导对我们试点区嘱托,因而在整个工作中我们做到了:完成一项工作、总结一项成果、留下一个方案、注重经验积累,做好一次总结。最后我也将基层的一所学校的《校安工信息采集工作概述》作为总结实例展示给大家,同时也作为我们这项工作从上到下的的一个暂时收尾。

谢谢大家!

河北区教育局校舍管理站 2010年7月13日

下载嵌入式系统数字图像采集接口电路设计经验总结word格式文档
下载嵌入式系统数字图像采集接口电路设计经验总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式系统实验报告

    嵌入式系统实验报告 学号: 姓 名: 班 级:13电子信息工程指导老师: 苏州大学 电子信息学院 2016年12月 实验一:一个灯的闪烁 1、实验要求 实现PF6-10端口所连接的任意一个LED灯......

    嵌入式系统调查报告

    “嵌入式系统在企业中的应用”调查报告 工学院范裕婷内容提要:现今,全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,是嵌入式系统在企业中应......

    嵌入式系统发展趋势

    未来嵌入式系统的发展趋势 在网络、通信、微电子发展的基础上,以及势不可挡的数字化信息产品的强大需求推动下,嵌入式技术具有广阔的发展创新空间。 (1)低功耗、高性能、高可......

    嵌入式系统实验

    南京信息工程大学 实验(实习)报告 实验(实习)名称电机转动控制及中断实验 实验(实习)日期2016.5 得分 指导教师 谢胜东学院 计算机与软件 专业 计算机科学与技术 年级2013......

    嵌入式系统实验报告

    嵌入式系统设计实验报告 班 级: 学 号: 姓 名: 成 绩: 指导教师: 1. 实验一 1.1 实验名称 博创UP-3000实验台基本结构及使用方法 1.2 实验目的 1.学习嵌入式系统开发流程。 2.熟悉U......

    嵌入式系统实验报告

    广西工学院鹿山学院 实 验 报 告 课程名称: 嵌入式系统 指导教师: 刘瑞琪 班 级: 自动化101 姓 名: 杨杰 学 号: 20102787 成绩评定: 指导教师签字: 2013年5月25日 实验一简单的......

    嵌入式系统实验报告

    嵌入式系统设计实验报告 班 级:学 号:姓 名:成 绩:指导教师: 20110612 2011061208 李晓虹 武俊鹏、刘书勇 1. 实验一 1.1 实验名称 博创UP-3000实验台基本结构使用方法 1.2......

    嵌入式系统课程设计

    《嵌入式系统概论》综合设计报告书 设计题目:用键盘控制LED显示不同图形 中央民族大学 二零零八年十月三十一日 一、 设计目的 了解LED点阵和矩阵键盘的工作原理。 二、 设计......