在线客服

硬件设计论文

引论:我们为您整理了1篇硬件设计论文范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

硬件设计论文

硬件设计论文:硬件产品工艺设计论文

1工艺设计流程及内容

工艺设计团队在进行工艺过程的设计时一般先需要如下原始资料:产品装配图和零件图,企业的制造相关信息。产品装配图有助于工艺设计师了解零件在产品上的位置,所起到的作用以及工作的条件情况;零件图则表明了该零件的尺寸和精度要求;了解企业的制造相关信息有利于工艺设计师根据生产厂的生产条件,生产厂现有的设备规格,型号及性能,物资供应状况等信息设计出更加符合本企业的产品工艺设计。这些原始资料是制定工艺设计的基础。根据工艺设计流程和工艺设计相关内容,可以把工艺设计活动分为四个阶段活动。及时阶段:工艺性分析阶段,工艺设计人员从产品详细设计人员处获得新产品的CAD图,对CAD图进行工艺性分析,审查图纸上的视图、尺寸和技术要求是否完整、统一、正确;找出重要的技术要求结合企业的加工能力分析是否能达到要求,分析零件的结构工艺性,是否存在不合理的结构或者可以改进的地方,与产品设计人员协商。只有对零件的结构工艺性进行充分分析,才能清楚零件的结构特点,加工表面与非加工表面、重要表面与非重要表面、技术要求的高低等直接影响零件加工性的因素,才能制定出最合理的工艺设计方案;第二阶段:确定毛坯及其制造方式,通过图纸的审查之后,设计人员开始确定毛坯及其制造方式,毛坯的确定是工艺设计过程中的重要内容,选择不同的毛坯就会有不同的加工工艺,采用的设备,工装也不同从,从而对生成率和成本有影响。因此必须正确的选择毛坯类型和制造方法,确定毛坯精度及余量,之后绘制毛坯图;第三阶段:拟定产品的工艺路线,工艺路线是指用各种方法将毛坯加工成零件的整个加工路线。在毛坯确定后,根据零件的技术要求、表面形状、已知的各种机床加工工艺范围、刀具的用途,就可以初步拟定零件表面的加工方法,工序的先后顺序,工序的集中还是分散。工艺路线的拟定不但影响加工质量和生产效率,而且影响工人的劳动强度,影响设备投资,车间面积,生产成本等,因此拟定工艺路线是工艺设计过程中的关键阶段;第四阶段:进行工序详细设计,工艺路线拟定之后确定各工序的具体内容。包括确定各工序加工余量、计算各工序尺寸及公差,选择各工序使用的机床与工艺设备,确定各工序的切削用量及时间定额。工序设计应该是在保障质量的前提下,提高生产效率,这个阶段最终形成加工工序卡片。当过程流程图,加工工序卡片都通过审核之后形成将文件,整理文件保存,整个产品开发设计过程中的工艺设计到此结束。之后将文件下发,指导一线工人进行生产。

2工艺设计过程的要素模型

质量管理体系国际标准将过程定义为:一组将输入转化为输出的相互关联或相互作用的活动[7]。过程方法是指组织内各过程的系统的应用,连同这些过程的识别和相互作用及其管理。过程构成要素模型,如图2所示。根据过程定义并结合图2过程构建要素模型可知:一个过程包括输入、输出、相关转换活动、所需资源、过程所处的环境以及检测评价等六要素。其中输入是实施过程的开始,而输出是完成过程的结果,通过使用合理的资源和科学的管理,来对处于一定的环境的过程进行增值转换活动。为了确保过程的结果质量,对输入过程的要素、环境要求和输出的结果(有形的或者无形的)以及在过程中的适当阶段应进行必要的监控和评价。工艺设计过程中的转化活动是由一系列按照时序要求展开的活动,首先是包括审查图纸、产品结构及技术分析、工艺性评价的工艺性分析活动,之后是选择毛坯精度确定余量、绘制毛坯图的确定毛坯及其制造方式活动,然后是划分加工阶段及确定工序顺序的拟定产品的工艺路线活动,是确定工序余量计算工序尺寸及公差,选择切削用量,计算时间额定,选择加工设备及工艺装备的详细的工序设计活动。

3工艺设计过程影响因素分析

工艺设计过程是指工艺设计相关的一切活动,信息,数据,资源的总和。它是由一系列子过程工艺设计活动组成。由于每个过程活动的任务和目标不一样,如表1所示。使得不同阶段的活动所需的资源,输入输出,环境等要素也不同。在产品结构性工艺审查,毛坯的选择,工艺方案设计与评价,工装设计,材料与工时定额等活动时要综合考虑企业自身条件,生产设备,生产能力,生产环境,工艺相关经验,工具相关信息,设备相关参数,加工人员技术水平信息等影响因素,还要结合所处的环境和资源等因素,如环保规则,加工生产条件,安全条件,经济性等方面。输出最经济,最可行,最合理的工艺设计方案等文件内容指导企业生产制造。

4工艺设计缺陷因素结构模型的构建

为了更好的表达缺陷因素与工艺设计过程的关系,避免工艺设计缺陷的产生,并参考多数企业的工艺设计流程,采用过程方法构建的工艺缺陷因素结构关系模型,如图3所示。从图3可以看出硬件产品工艺设计过程是一个多层次,多步骤和分阶段的设计过程。整个工艺设计过程涉及的影响因素因不同阶段而不同,分布于产品工艺设计过程各个阶段的活动中。工艺缺陷影响因素结构关系模型不仅表达出工艺设计过程中各设计阶段间的逻辑顺序关系,理顺了工艺设计阶段的各个活动的输入、输出,而且还清晰地呈现出设计资源、环境等缺陷因素与工艺设计过程的关系,为以后的工艺设计缺陷的预防和控制提供了理论基础。然而,从整个模型可以看出,影响工艺缺陷的因素比较多,在具体的工艺设计活动中,往往是由于模型中缺陷因素不能合理有效的控制这些因素,增加了工艺设计缺陷的风险。因此,需要进一步定量掌握工艺设计阶段的影响因素对工艺设计活动的影响程度,以及因素之间的互相影响关系,以便更好的,有针对性地采取措施来优化工艺设计过程,提高工艺设计质量。

5工艺缺陷影响因素定量化分析

5.1基于DEMATEL方法的工艺设计缺陷因素分析

DEMATEL(decisionmakingtrialandevaluationlaboratory)决策实验室分析法,是20世纪70年代出现的运用图论与矩阵论原理进行系统因素分析的方法,它通过系统中各因素之间的逻辑关系构建直接影响矩阵,计算各因素对其他因素的影响度以及被影响度,从而计算各因素的中心度和原因度,然后,根据因素所对应的中心度和原因度,得出该因素所属的种类(原因性因素还是结果性因素)。DEMATEL方法关注的不仅是因素之间的两两直接影响关系,还考虑了所有因素之间的间接影响关系,从而获取众多因素中的关键因素。采用DEMATEL方法对影响工艺设计缺陷因素进行量化分析,分析过程直观、明晰,其结果不仅可以表达各缺陷因素之间的量化因果关系,还能根据量化结果对影响因素集进行因果分类和重要程度排序,为缺陷因素控制管理以及识别提供科学依据。

5.2基于DEMATEL方法的工艺设计缺陷因素分析步

骤如下(1)构建各因素间的直接影响矩阵。工艺设计缺陷影响因素表示为Tx,其中x=1,2,3……n,如果因素Ti对因素Tj有影响,则表示为tij。设定影响关系评价标度(如根据较强,强,一般,弱,无五个等级分别赋值),定义:当i=j时,tij=0表示因素自身对自己无影响;当因素Ti对因素Tj影响很弱时,tij=1;当因素Ti对因素Tj影响一般时,tij=2;当因素Ti对因素Tj影响较强时,tij=3;当因素Ti对因素Tj影响很强时,tij=4。构造因素间的影响矩阵G。影响度Hi为综合影响矩阵D中i行的行和,表示因素Ti对其他所有元素的综合影响值。被影响度Lj为综合影响矩阵T中j列的列和,表示Tj受其他所有因素的综合影响值。中心度Mi为综合影响矩阵T中第i行的行和与第i列的列和之和,表示该因素在系统中的重要性程度。原因度Ui为综合影响矩阵T中的第i行之和与第i列之和的差,表示该因素与其他因素的因果逻辑关系程度,若为正,表示该因素对其他因素的影响大,称为原因因素;若为负,则表示该因素受其他因素的影响大,称为结果因素。(5)根据第四步计算的结果,以Ui为纵轴,Mi为横轴,绘制因素的原因—结果图,得出各缺陷因素的影响度和被影响度排序。

5.3举例分析

以某雨弹发射架的工艺设计为例,影响雨弹发射架工艺设计缺陷的因素众多、关系复杂。按上述方法,从与工艺设计有关过程活动的角度来考虑,同时考虑输入输出类、资源类、环境类以及监测评价四大类工艺缺陷影响因影响因素体系,构建了雨弹发射架工艺设计缺陷因素表以及按DEMATEL方法步骤计算出综合数据,如表2所示。(1)缺陷因素的原因—结果图根据综合影响关系表,以Ui为纵轴,Mi为横轴,绘制因素的原因—结果图,得出各缺陷因素的影响度和被影响度排序。应用SPSS软件将各雨弹发射架工艺设计影响因素标注在坐标系上,如图4所示。(2)分析结果由以上结果从整体所有因素可以看到:(1)雨弹发射架工艺设计的原因因素有24个位于0线以上,依次f1、f2、f3、f4、f5、f7、f8、f10、f11、f13、f14、f15、f17、f21、f23、f24、f25、f28、f30、f32、f35、f37、f39、f40,它们是导致雨弹发射架工艺设计缺陷的主导因素。根据20/80原则,影响度大小排序前五位为f10(工艺流程图)、f13(工序操作指导卡片)、f5(现有生产能力资料)、f7(毛坯方案)、f2(组件明细)、所以,必须采取针对性的措施。(2)结果因素有16个位于0线以下,依次为f6、f9、f12、f16、f18、f19、f20、f22、f26、f27、f29、f31、f33、f34、f36、f38,这些因素受其他因素影响比较大。按被影响度大小排序前三位为f38(成本约束)、f22(毛坯的相关经验)、f12(工序卡片),它们极易受到其他因素的影响,必须加以重视。(3)从工艺设计缺陷因素原因—结果图中也可以分别按类中的因素比较,如输入输出类缺陷因素(正方形表示)中的f10(工艺流程图)、f13(工序操作指导卡片)、f5(现有生产能力资料)中心度值较大,是输入输出类最可能导致工艺设计缺陷的致因因素;从图4可以看出输入输出类因素相对其他类因素大部分都在0线以上,这说明此类因素中原因因素较多,应该给予一定控制。资源类缺陷因素(圆圈表示)中f22(毛坯的相关经验)原因度第二小,说明受其他因素影响较大。环境类缺陷因素(正三角形表示)中f38(成本约束)原因度最小,中心度第三大,说明成本约束不仅受其他因素影响大外,自身影响其他因素也大,应给予控制。监测评价类成本约束(倒三角形表示)f39,f40,都在0线以上,说明此类缺陷因素影响其他因素较多。(4)从整体来看缺陷因素f5(现有生产能力资料)、f10(工艺流程图)、f12(工序卡片)、f13(工序操作指导卡片)、f22(毛坯的相关经验)、f38(成本约束)相对离散,应重点控制监测。以上结果只是针对雨弹发射架工艺设计,对其他硬件产品工艺设计缺陷因素分析可参照此方法,但分析结果因产品而异。

6结论

采用过程方法,分析了影响硬件产品工艺缺陷的设计各个阶段影响因素。从输入、输出、所需资源、所处环境、增值转化活动及监测评价过程六要素系统地构建了工艺缺陷的结构关系模型,弥补了以往产品设计过程中对工艺设计缺陷影响因素关注的不足,直观展现了影响因素、工艺设计阶段与工艺缺陷之间的作用关系。在此基础上,利用DEMATEL法对工艺缺陷活动的影响因素之间定量化分析,得出各因素的影响大小和因素之间的因果关系,以此来针对性的控制。在雨弹发射架工艺设计中得到应用。研究成果对其他企业预防和控制硬件产品工艺设计缺陷起到重要指导意义。

作者:刘卫东 余为锋 郑慧萌 肖承地 单位:南昌大学

硬件设计论文:四旋翼飞行器硬件系统设计论文

近年来,随着微电子技术、传感器技术、信号处理技术的迅速发展,以及新能源、新材料的广泛应用,使四旋翼无人飞行器的控制算法与工程应用得到了优化与创新。国防科技大学、上海交通大学等学者提出了基于Backstepping方法、自抗扰控制、滑膜技术的控制[1,2]。斯坦福大学的STARMAC工程研发的四旋翼飞行器系统具有自主航点跟踪的能力,具备多飞行器协同飞行水平[3]。麻省理工学院无人机集群健康管理计划实现了通过地面操作实现多个无人机对动态环境感知、重建并规划飞行[4]。考虑到四旋翼飞行器具有非线性、多变量、强耦合等特点,要通过无刷电调控制4个无刷电机的转速来实现由4个输入量,6个自由度的欠驱动系统的控制[5]。在四旋收稿日期:2014—06—05*基金项目:浙江省科技厅公益项目(2012C21082)翼飞行器控制系统设计的过程中对飞行原理进行定性定量的分析,可以减少飞行实验平台的搭建时间,也可为电源模块、飞行控制模块的设计提供理论基础。为实现四旋翼飞行器的自稳控制,通过陀螺仪、大气压力传感器、三轴加速度传感器采集到的数据对飞行姿态进行解析,但是飞行时所产生的机体震动、温漂、零漂所带来的误差以及外界环境的干扰[6],使位置姿态的估计与飞行高度的保持产生了较大的困难。对此,本文在飞行控制系统设计中对加速度传感器与陀螺仪融合使用,解析姿态数据的过程中使用卡尔曼滤波算法,不但有效地减弱了陀螺仪的温漂、零漂现象,还使得多传感器间的优缺点互补,提高了四旋翼飞行器的控制精度。

1飞行原理与机械结构

四旋翼飞行器的旋翼对称地安装在呈十字交叉的支架顶端,位置相邻的旋翼旋转方向相反,同一对角线上的旋翼旋转方向相同,以此确保了飞行系统的扭矩平衡[7],如图1所示。四旋翼飞行器旋翼的旋转切角是固定值,因此,要通过调节每个电机的转速来实现六自由度的飞行姿态控制。增大或减少4个电机的转速来完成垂直方向上的升降运动,调节1,3旋翼的转速差来控制仰俯速率和进退运动,调节2,4旋翼的转速差来控制横滚速率和倾飞运动,调节2个顺时针旋转电机和2个逆时针旋转电机的相对速率来控制偏航运动。通过对飞行原理的分析,把可行性、低成本、易维护作为主要考虑因素,设计的样机如图2所示。机臂由镂空工程塑料材料PA66和30%玻璃纤维制成,质量相对较轻,强度大,对称电机轴距55cm,为保障水平起飞与平稳着陆,四旋翼飞行器底部安装起落架。电机旋翼等具体参数为:机体质量为857g;较大负载约为300g;机身高度为31cm;飞行时间约为8min。在整机安装过程中尽量保障重心在机械机构的对称中心,实际飞行实验证明了系统动力设备与机械结构的可行性。

2总体结构设计

四旋翼飞行器的硬件系统设计以飞控板为核心,搭载动力设备、电源模块与遥控模块。图3描述了以ATMEGA644P—AU为核心芯片搭载多传感器的飞行控制系统总体结构框图,整体系统利用11.1V锂电池供电,飞控与无刷电调以I2C总线数据传输来调节4个电机的转速;在遥控模块中,2.4MHz的控制信号通过PPM解码板与飞控板进行数据传输;在多传感器系统中,大气压力感器用于飞行高度检测,陀螺仪与加速度计的融合使用用于姿态解算。

3电源模块

四旋翼飞行器由2200MAh,11.1V,持续放电倍率30C锂电池供电,通过稳压电路的设计对不同电路进行供电,确保各模块正常稳定的工作。控制系统设计需要5,3V两种电平供电,电压转换电路如图4所示。由锂电池提供的11.1电压经两块7805稳压芯片后转为5V电压,一部分用于飞控板供电,一部分向预留的外部接口供电。经7805输出的5V电压经过2个MCP1700T稳压芯片输出3V电压,一部分供给控制系统的数字电路,一部分供给控制系统的模拟电路。330μF/25V电解电容器,10nF/16V钽电容器,贴片电容器的并联使用起到了防止电压抖动与滤波的作用。

4多传感器控制模块

为了地控制四旋翼飞行器的飞行姿态,需要在控制系统中加入不同的传感器,加速度传感器与三个陀螺仪来测量三轴加速度与角速度,大气压力传感器通过测量起始位置与飞行位置的气压差对飞行高度控制,为自主导航功能提供支持。大气压力传感器选择的是Freescale公司的MPX4250A,在该集成传感器芯片上,除具有压阻式压力传感器外,还有用作温度补偿的薄膜电阻网络,测压范围为20~250kPa,输出电压为0.2~4.9V,工作温度范围为-40~+125℃。电路如图5所示,可以根据压力的大小,通过控制P_1和P_2选择不同的放大倍数,提高采样的精度。LIS344ALH是一种低功耗、高性能、高精度的三轴加速度传感器,通过模拟输出为外部电路提供直接测量信号,加速度传感器的工作电压为2.2~3.6V,检测量程可以在±2gn或±4gn间选择。其中,VREF为通过稳压芯片MCP1700T转换为3V的稳定电压输入。应用电路如图6所示,选择100nF的贴片电容器作为VCC端的解耦电容,在输出端使用1μF的滤波电容减小噪声。考虑到振动误差无法通过加速度传感器进行补偿,因此,陀螺仪选型的过程中把机械性能作为重要的考虑因素,选择了可以在单芯片上实现完整单轴角速度响应的ADXRS610陀螺仪传感器。3个ADXRS610陀螺仪分别安装于垂直于机体坐标系的XYZ轴来实现系统三轴角速度的测量。

5实验与仿真

四旋翼飞行器在姿态解算时,陀螺仪传感器直接测量的是角速度,在积分得到角度的过程中随着时间的增长会产生累计积分误差,积分误差产生的原因一方面是积分时间,另一方面,由于自身的机械特性会产生零漂温漂等现象[8]。在陀螺仪的使用过程中融合加速度传感器,不仅为陀螺仪提供了参考系,而且使加速度传感器的静态性能与陀螺仪良好的动态性能相结合[9],较好地抑制了外界干扰。数据经卡尔曼滤波算法处理后,可有效地降低数据噪声。图8为加速度传感器采样数据与卡尔曼滤波后的数据比较,可以明显地看到噪声信号减小了,但是仍有少量的扰动存在。图9的曲线表明了陀螺仪采集角速度数据存在零漂、温漂现象,当确定零漂为0.05°,静态输出电压为2.63V时,从波形图中可以观察到通过卡尔曼滤波处理后的积分数据平滑收敛,不但对零点漂移进行了补偿,而且对累计积-10-5051015角度/(°)012345时间/s卡尔曼滤波后的数据加速度计采集数据图8加速度计采样数据经卡尔曼滤波后的数据图Fig8DatadiagramofsamplingdatasofaccelerometerprocessedbyKalmanfiltering分误差,温漂有较好的抑制作用。-10-5051015角度/(°)012345时间/s卡尔曼滤波后的陀螺仪数据陀螺仪积分数据采集角速度数据。

6结论

本文从四旋翼飞行器的飞行原理入手,整合各个功能模块并通过对主要传感器的选型完成四旋翼飞行器控制系统的硬件电路设计,实现了飞行实验平台的搭建,多次飞行实验证明了硬件系统的可行性,达到了预期设计目标。在加速度传感器与陀螺仪的融合使用过程中,通过卡尔曼滤波算法对数据进行处理,有效地抑制了在硬件电路设计中无法避免的零漂、温漂等干扰因素,仿真结果证明了该方法的有效性。

作者:李运堂 单位: 中国计量学院机电工程学院

硬件设计论文:静止无功发生器硬件电路设计论文

一、静止无功发生器的工作原理与基本结构

静止无功发生器硬件电路主要包括:整流电路、逆变电路、智能功率模块IPM的驱动电路、过零检测电路,电流调理电路,锁相环电路。逆变电路采用了IPM,该芯片内含驱动电路,报警电路等独特结构,一方面提高了系统的性;另一方面也避免了保护电路的另外设计,简化了硬件装置的设计。主电路主要由整流部分和逆变部分组成。整流部分通过三相不可控整流桥将三相交流电压转换为三相直流电压,在经过电容滤波后得到稳定的直流电压。逆变部分采用SPWM控制技术来控制IPM内部IGBT的开断从而获得所需的补偿电流。将整流输出的直流电逆变转化为交流电回馈到电网。IPM内含保护电路,当发生故障时,IPM的自保能力使得IGBT的损坏率较低,提高了系统的性。

二、SVG各硬件电路组成

(一)整流电路。整流电路采用三相不可控整流桥,输出的三相直流电通过电容稳压、滤波获得稳定的直流电压。根据以往的经验,直流侧电容取用4个2200μF/450V的电解电容,两并两串接进电路。电路组成如图2所示。为了避免大电流烧坏整流装置,电容需要通过一个充电电阻对不可控整流桥的输出端进行充电,直到充满在直接接到不可控整流桥的输出端。另外,为避免故障发生,在不使用整流电路时要对滤波电容进行放电。根据计算的电压、电流,选用二极管整流模块6RI30G-160G-120即(30A,1200V)。

(二)IPM及其外围驱动电路。通过计算智能功率模块(IPM)参数,选用型号为PM25CLA120的IPM(25A,1200V),内部有IGBT,内含驱动电路。通过资料得知IPM驱动电路的控制电源电压范围为13.5V~16.5V,本文选用4路隔离的l5V直流电源。利用DSP发出PWM信号经光耦器件隔离后作为驱动信号对IPM进行控制。

(三)电流调理电路。该电路可将18A的电网电流相量转换成0~3Vpp的电压信号并实现过零点检测功能。该电路与电压调理电路的组成基本一致,不同之处在于互感器TVA1421-01用作电流互感器,采样电阻取59Ω。若一次侧电流为18A,二次侧输出(-0.5~+0.5)V的正弦波;经放大电路,输出电压(-1.5~+1.5)V的正弦波;经过加法电路输出(0V~3.00V)的电压信号。同时大于50Hz的正弦信号被滤除。过零比较电路在正弦波的过零时刻输出下降沿跳变。

(四)锁相环电路。本文采用了由TI公司生产的CD7H4C4046型锁相环芯片对电网频率进行跟踪,避免了利用固定频率采样时产生的误差。本系统中,锁相环的输出信号有两大作用:一是作为ADC模块的转换触发信号;二是作为事件管理器A(EVA)的时钟输入信号。通过锁相环电路使其产生跟随电网频率变化的SP-WM波,从而控制后级逆变器。

三、结语

本文论述了静止无功发生器的基本原理,实现了SVG的硬件电路设计,主要包括:逆变电路、整流电路的设计及储能电容的选择、电流调理电路、锁相环电路、IPM及其外围驱动电路,并通过实验验证,各级电路的输出符合实验要求。

作者:崔玮玮韦钰陈宇晨王凯刘昱彤单位:上海工程技术大学

硬件设计论文:硬件电路设计论文

AD9883A是高性能的三通道视频ADC可以同时实现对RGB三色信号的实时采样。系统采用32位浮点芯片ADSP-21160来处理数据,能实时完成伽玛校正、时基校正,图像优化等处理,且满足了系统的各项性能需求。ADSP-21160有6个独立的高速8位并行链路口,分别连接ADSP-21160前端的模数转换芯片AD9883A和后端的数模转换芯片ADV7125。ADSP-21160具有超级哈佛结构,支持单指令多操作数(SIMD)模式,采用高效的汇编语言编程能实现对视频信号的实时处理,不会因为处理数据时间长而出现延迟。

系统硬件原理框图如图1所示。系统采用不同的链路口完成输入和输出,可以避免采用总线可能产生的通道冲突。模拟视频信号由AD9883A完成模数转换。AD9883A是个三通道的ADC,因此系统可以完成单色的视频信号处理,也可以完成彩色的视频信号处理。采样所得视频数字信号经链路口输入到ADSP-21160,完成处理后由不同的链路口输出到ADV7125,完成数模转换。ADV7125是三通道的DAC,同样也可以用于处理彩色信号。输出视频信号到灰度电压产生电路,得到驱动液晶屏所需要的驱动电压。ADSP-21160还有通用可编程I/O标志脚,可用于接受外部控制信号,给系统及其模块发送控制信息,以使整个系统稳定有序地工作。例如,ADSP-21160为灰度电压产生电路和液晶屏提供必要的控制信号。另外,系统还设置了一些LED灯,用于直观的指示系统硬件及DSP内部程序各模块的工作状态。

本设计采用从闪存引导的方式加载DSP的程序文件,闪存具有很高的性价比,体积小,功耗低。由于本系统中的闪

存既要存储DSP程序,又要保存对应于不同的伽玛值的查找表数据以及部分预设的显示数据,故选择ST公司的容量较大的M29W641DL,既能保存程序代码,又能保存必要的数据信息。

图2为DSP与闪存的接口电路。因为采用8位闪存引导方式,所以ADSP-21160地址线应使用A20-A0,数据线为D39—32,读、写和片选信号分别接到闪存相应引脚上。

系统功能及实现

本设计采用ADSP-21160完成伽玛校正、时基校正、时钟发生2S、图像优化和控制信号的产生等功能。

1伽玛校正原理

在LCD中,驱动IC/LSI的DAC图像数据信号线性变化,而液晶的电光特性是非线性,所以要调节对液晶所加的外加电压,使其满足液晶显示亮度的线性,即伽玛(Y)校正。Y校正是一个实现图像能够尽可能真实地反映原物体或原图像视觉信息的重要过程。利用查找表来补偿液晶电光特性的Y校正方法能使液晶显示系统具有理想的传输函数。未校正时液晶显示系统的输入输出曲线呈S形。伽玛表的作用就是通过对ADC进来的信号进行反S形的非线性变换,最终使液晶显示系统的输入输出曲线满足实际要求。

LCD的Y校正图形如图3所示,左图是LCD的电光特性曲线图,右图是LCD亮度特性曲线和电压的模数转换图。

2伽玛校正的实现

本文采用较科学的Y校正处理技术,对数字三基色视频信号分别进行数字Y校正(也可以对模拟三基色视频信号分别进行Y校正)。在完成v校正的同时,并不损失灰度层次,使全彩色显示屏图像更鲜艳,更逼真,更清晰。

某单色光Y调整过程如图4所示,其他二色与此相同。以单色光v调整为例:ADSP-21160首先根据外部提供的一组控制信号,进行及时次查表,得到Y调整系数(Y值)。然后根据该Y值和输入的显示数据进行第二次查表,得到经校正后的显示数据。及时次查表的Y值是通过外部的控制信号输入到控制模块进行及时次查表得到的。8位显示数据信号可查表数字0~255种灰度级显示数据(Y校正后)。

3图像优化

为了提高图像质量,ADSP-21160内部还设计了图像效果优化及特技模块,许多在模拟处理中无法进行的工作可以在数字处理中进行,例如,二维数字滤波、轮廓校正,细节补偿频率微调、的彩色矩阵(线性矩阵电路),黑斑校正、g校正、孔阑校正、增益调整、黑电平控制及杂散光补偿、对比度调节等,这些处理都提高了图像质量。

数字特技是对视频信号本身进行尺寸、位置变化和亮,色信号变化的数字化处理,它能使图像变成各种形状,在屏幕上任意放缩,旋转等,这些是模拟特技无法实现的。还可以设计滤波器来滤除一些干扰信号和噪声信号等,使图像的清晰度更高,更好地再现原始图像。所有的信号和数据都是存储在DSP内部,由它内部产生的时钟模块和控制模块实现的。

4时基校正及系统控制

由于ADSP-21160内部各个模块的功能和处理时间不同,各模块之间存在一定延时,故需要进行数字时基校正,使存储器最终输出的数据能严格对齐,而不会出现信息的重叠或不连续。数字时基校正主要用于校正视频信号中的行,场同步信号的时基误差。首先,将被校正的信号以它的时基信号为基准写入存储器,然后,以TFT-LCD的时基信号为基准读出,即可得到时基误差较小的视频信号。同时它还附加了其他功能,可以对视频信号的色度、亮度、饱和度进行调节,同时对行、场相位、负载波相位进行调节,并具有时钟台标的功能。

控制模块主要负责控制时序驱动逻辑电路以管理和操作各功能模块,如显示数据存储器的管理和操作,负责将显示数据和指令参数传输到位,负责将参数寄存器的内容转换成相应的显示功能逻辑。内部的信号发生器产生控制信号及地址,根据水平和垂直显示及消隐计数器的值产生控制信号。此外,它还可以接收外部控制信号,以实现人机交互,从而使该电路的功能更加强大,更加灵活。此外,ADSP21160的内部还设计了I2C总线控制模块,模拟FC总线的工作,为外部的具有I2C接口的器件提供SCLK(串行时钟信号)和SDA(双向串行数据信号)。模拟I2C工作状态如图5和图6所示。

系统软件实现

在软件设计如图7所示,采用Matlab软件计算出校正值,并以查找表的文件形式存储,供时序的调用。系统上电

开始,首先要完成ADSP-21160的一系列寄存器的设置,以使DSP能正确有效地工作。当ADSP-21160接收到有效的视频信号以后,根据外部控制信息确定Y值。为适应不同TFT-LCD屏对视频信号的显示,系统可以通过调整Y值,以调节显示效果到。再如图4所示,对先前预存的文件进行查表,得到所需的矫正后的值,然后暂存等待下一步处理。系统还可以根据视频信号特点和用户需要完成一些图像的优化和特技,如二维数字滤波、轮廓校正、增益调整、对比度调节等。这些操作可由用户需求选择性使用。利用ADSP-21160还可以实现图像翻转、停滞等特技。进行数字时基校正,主要用于校正视频信号中的行、场同步信号的时基误差,使存储器最终输出的数据能严格对齐,而不会出现信息的重叠或不连续。除了以上所述的主要功能以外,ADSP-21160还根据时序控制信号,为灰度电压产生电路和TFT-LCD屏提供必要的控制信号。另外,ADSP-21160还能设置驱动通用I/O脚配置的LED灯,显示系统工作状态。

结束语

本文介绍了基于ADSP-21160的液晶驱动电路设计。该驱动电路能完成伽马校正、图像优化及时基校正等功能,并能提供具有足够驱动能力的时序和逻辑控制信号,能驱动大部分的TFT—LCD。用ADSP-21160设计驱动电路实时性好、通用性强、速度快且高效,而且还能在ADSP-21160中嵌入其他功能模块控制,增强系统的功能。这样不仅充分利用了ADSP-21160资源,又节省了外部资源,简化了硬件电路的设计。作者将SONY的LCX029CPT显示屏应用在本文所设计的驱动电路上,显示出质量很高的图像,因此该设计满足驱动液晶显示器的要求。

硬件设计论文:变压器冷却控制系统控制器硬件设计论文

摘要:变压器的冷却装置是将变压器在运行中由损耗所产生的热量散发出去,以保障变压器可以安全正常的运行。本文所进行的主要核心部分就是对控制模块进行的设计,其中包括了可以对主变压器风扇投入与切除的温度范围进行自行设定,也可以按照用户的要求而变化。

关键词:变压器;冷却控制系统;硬件

1变压器冷却控制系统控制模块的设计总体思想

本文所进行的就是对变压器冷却控制系统控制器模块进行设计,其中包括了可以对主变压器风扇投入与切除的温度范围进行自行设定,也可以按照用户的要求而变化。在传统控制方式中,风扇投切的温度限制值是不能改变的,此外,风扇电机的启动和停止温度有一余量,不像传统的控制方式中是一个定值,避免了频繁启动的缺陷,此外还有运行、故障保护及报警等信号的显示及其与控制中心或调度中心的通讯,上传这些信息,如变压器油温、风扇运行状态有无故障等。至于风扇的分组投切设置是为了节约电能,具有一定的经济意义,但这个分组数不宜过多,以免控制复杂,且散热效果不佳。

控制器主要由AT89CS1单片机、A/D转换器、键盘控制芯片,输出模块、通讯模块以及自动复位电路等组成,其中单片机是控制器的核心,AID转换器是把输入信号转换为数字信号。

2变压器风扇控制系统的硬件接线

基于以上的要求,我们设计的风扇控制器的硬件线路图如下页图1所示。变压器风扇控制中对控制模块进行改进是本文研究的重点,其中包括主要芯片的选用以及一些抗干扰元件的使用。所以在本章节中,我们重点将要介绍变压器风扇冷却控制模块中的主要硬件芯片的作用、选用以及它们之间的连接力一法。

(1)单片机AT89C51(如图1)。

AT89C51是Atmel公司生产的一种低功耗,高性能的8位单片机,具有8k的flash可编程只读存储器,它采用Atmel公司的高密度不易丢失的存储器技术,并且和工业标准的80c51和80c52的指令集合插脚引线兼容,其集成的flash允许可编程存储器可以在系统或者通用的非易失性的存储器编程中进行重新编程。AT89C51集成了一个8位的CPU,8K的flash。256字节的EDAM,32位的I/0总线。三个16字节的定时器/计数器,两级六中段结构,一个全双工的串行口,振荡器及时钟电路。AT89C51是完成系统的数据处理和系统控制的核心,所有其它器件都受其控制或为其服务。

在本文中,经过TLC1543A/D转换器后输出的数字量输入到AT89C51单片机中,同时在进行了温度参数的设置以后,进行它的输出控制,其中包括了变压器的温度显示、状态显示、以及声音报警设备等等,也就是我们所研究的变压器冷却控制系统的核心部分。

(2)变压器的温度采集及温度处理模块。在变压器的风扇冷却自动控制系统中,及时步进行的就是对变压器上层油温进行的温度采集工作。变压器的温度采集是由变压器的温度控制器来实现的,其中包括铂电极、传感器以及变送器。经过温度控制器输出的信号进入变送器,变送器送出一个4一20毫安的电流信号,然后将此电流信号通过控制芯片上的电阻元件实现电流电压信号的转换,转换后的电压是在0.4一2(伏特)之间,然后将此电压信号输入到TLC1543数模转换器,进行信号处理。变送器输出信号有电流和电压信号两种,考虑到变压器安装的位置(室外)距本控制装置(室内)有一定的距离,电流信号不易损失,故选择了4一20毫安的电流信号。(3)11通道10位串行A/D转换器丁LC1543。

TLC1543A/D转换器是美国TI公司生产的众多串行A/D转换器中的一种,它具有输入通道多、转换精度高、传输速度快、使用灵活和价格低廉等优点,是一种高性价的模数转换器。TLC1543是CMOS,10位开关电容逐次逼近模数转换器。它有三个输入端和一个3态输出端:片选(CS),输入/输出时钟(I/0CLOCK),地址输入和数据输出(DATAOUT)。这样通过一个直接的四线接口与卞处理器或外围的串行口通讯。片内还有14通道多路选择器可以选择11个输入中的任何一个三个内部自测试(self-test)电压中的一个。

(4)BC7281128段LED显示及64键键盘控制芯片。

BC7281是16位LED数码管显示器键盘接口专用控制芯片,通过外接移位寄存器(典型芯片如74HC164,74LS595等),最多可以控制16位数码管显示或128支独立的LED。BC7281的驱动输出极性及输出时序均为软件可控,从而可以和各种外部电路配合,适用于任何尺寸的数码管。

BC7281各位可独立按不同的译码方式译码或不译码显示,译码方式显示时小数点不受译码影响,使用方便;BC7281内部还有一闪烁速度控制寄存器,使用者可随时改变闪烁速度。

BC7281芯片可以连接最多64键C8*8)的键盘矩阵,内部具有去抖动功能。它的键盘具有两种工作模式,BC7281内部共有26个寄存器,包括16个显示寄存器和10个特殊(控制)寄存器,所有的操作均通过对这26个寄存器的访问完成。

BC7281采用高速二线接口与MCU进行通讯,只占用很少的I/O资源和主机时间。

BC7281在本系统中主要用于驱动变压器温度显示的LED以及显示风扇运行状态的指示灯。

前已提及,BC7281芯片内部共有26个寄存器,包括16个显示寄存器和10个特殊功能寄存器,共用一段连续的地址,其地址范围是OOH-19H,其中OOH-OFH为显示寄存器,其余为特殊寄存器。

(5)使用MAX232实现与PC机的通讯。

①MAX232芯片简介

MAX232芯片是1VIAX工M公司生产的低功耗、单电源双RS232发送/接收器,适用于各种E工A-232E和V.28;V.24的通信接口,1VIAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-2320输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。

我们的设计电路中选用其中一路发送/接收,RlOUT接MCS一51的RXD,T1工N接MCS一51的TXD,TlOUT接PC机的RD,Rl工N接PC机的TD1。因为MAX232具有驱动能力,所以不需要外加驱动电路。

系统中使用了此技术之后就实现了变压器风扇冷却系统的远程控制,工作人员可以在控制室对冷却系统进行控制,可以达到方便、、快捷的日的,这也是我们对传统的风扇冷却控制系统而做的一个重要的改进。

②串行通讯

在此实现中,我们必须要对MCS-51串行接日和PC机串行接日的串行通讯要有一定的了解,串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的,它的优点是只需一对传输线进行传送信息,囚此其成本低,适用于远即离通信;它的缺点是传送速度低;串行通信有异步通信和同步通信两种基本通信方一式,同步通信适用于传送速度高的情况,其硬件复杂;而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式,本文中使用的就是异步通讯方式。

(6)“看门狗”电路DS1232

在系统运行的过程中,为了避免因干扰或其他意外出现的运行中的死机的情况,“看门狗电路”DS1232会自动进行复位,并且能够重读EEPROM中的设置,以保障系统可以安全正常的运行。

美国Dallas公司生产的“看门狗”(WATCHDOG)集成电路DS1232具有性能、使用简单、价格低廉的特点,应用在单片机产品中能够很好的提高硬件的抗干扰能力。

DS1232具有以下特点:

①具有8脚DIP封装和16脚SOIC贴片封装两种形式,可以满足不同设计要求;

②在微处理器失控状态卜可以停止和重新启动微处理器;

③微处理器掉电或电源电压瞬变时可自动复位微处理器;

④的5%或10%电源供电监视;

在本变压器冷却控制系统中,DS1232作为一定时器来起到自动复位的作用,在DS1232内部集成有看门狗定时器,当DS1232的ST端在设置的周期时间内没有有效信号到来时,DS1232的RSR端将产生复位信号以强迫微处理器复位。这一功能对于防止由于干扰等原因造成的微处理器死机是非常有效的,因为看门狗定时器的定时时间由DS1232的TD引脚确定,在本设计中,我们将其TD引脚与地相接,所以定时时间一般取为150ms。

3结论

本装置实现了通过单片机自动控制冷却器的各种运行状态并能监测变压器的油温和冷却器的各种运行、故障状态,显示了比传统的控制模式的优越性。(1)能够对变压器油温进行监测与控制;(2)实现了变压器冷却器依据不同油温的分组投切,延长了冷却器的使用寿命,有较好的经济意义;(3)实现了冷却系统的各种状况,如油温、风扇投切和故障等信息的上传,便于值班员、调度员随时掌握情况。

由于固态继电器实现了变压器的无触点控制,解决了传统的控制回路的弊端,同时此控制装置具有电机回路断相与过载的保护功能。由于使用了单片机,因而具有一定的智能特征,实现了油温、风扇的投入、退出和故障等信号的显示以及上传等。通过实际运行表明,该装置的研制是比较成功的。但今后,我们还应该对固态继电器本身的保护进行一些研究,以免主回路因电流过大而造成固态继电器的损坏,以使变压器风扇冷却控制回路更加完善。

参考文献

1张建国,索南加乐.具有温度预测的变压器油温测控的研制[R],西安交通大学硕士学位论文,2001.

2王中,张保会,顾平安.主变压器强油循环冷却系统通风控制回路的改造与完善[R],西安交通大学硕士学位论文,2005.

硬件设计论文:PCI加密卡硬件设计分析论文

摘要:介绍基于PCI总线加密卡的硬件组成部分。该加密卡汲取了现代先进的加密思想,实现了高强度加密功能。

关键词:加密卡PCI总线PCI9052ISP单片机

加密是对软件进行保护的一种有效手段。从加密技术的发展历程及发展趋势来看,加密可大体划分为软加密和硬加密两种。硬加密的典型产品是使用并口的软件狗,它的缺点是端口地址固定,容易被逻辑分析仪或仿真软件跟踪,并且还占用了有限的并口资源。笔者设计的基于PCI总线的加密卡具有以下几个优点:及时,PCI总线是当今计算机使用的主流标准总线,具有丰富的硬件资源,因此不易受资源环境限制;第二,PCI设备配置空间采用自动配置方式,反跟踪能力强;第三,在PCI扩展卡上易于实现先进的加密算法。

1总体设计方案

基于PCI总线的加密卡插在计算机的PCI总线插槽上(5V32Bit连接器),主处理器通过与加密卡通信,获取密钥及其它数据。加密卡的工作过程和工作原理是:系统动态分配给加密卡4字节I/O空间,被加密软件通过驱动程序访问该I/O空间;加密卡收到访问命令后,通过PCI专用接口芯片,把PCI总线访问时序转化为本地总线访问时序;本地总线信号经过转换处理后,与单片机相连,按约定的通信协议与单片机通信。上述过程实现了主处理器对加密卡的访问操作。

图1硬件总体设计方案

下面以主处理器对加密卡进行写操作为例,阐述具体的实现方法。加密卡采用PLX公司的PCI9052作为PCI总线周期与本地总线周期进行转换的接口芯片。PCI9052作为PCI总线从设备,又充当了本地总线主设备,对其配置可通过EEPROM93LC46B实现。主处理器对加密卡进行写操作,PCI9052把PCI总线时序转化为8位本地数据总线写操作。这8位本地数据总线通过Lattice公司的ispLSI2064与单片机AT89C51的P0口相连,2064完成PCI9052本地总线与AT89C51之间的数据传输、握手信号转换控制等功能。2064对8位本地数据总线写操作进行处理,产生中断信号。该中断信号与AT89C51的INT0#相连,使AT89C51产生中断。AT89C51产生中断后,检测与其P2口相连的本地读写信号WR#、RD#、LW/R#。当WR#为低电平、LW/R#为高电平时,AT89C51判断目前的操作是否为写操作。确认是写操作后,AT89C51把P0口上的8位数据取下来,然后用RDY51#(经2064转换后)通知PCI9052的LRDYi#,表明自己已经把当前的8位数据取走,可以继续下面的工作。PCI9052收到LRDYi#有效后,结束当前的8位数据写操作。PCI总线的一次32位数据写操作,PCI9052本地总线需要四次8位数据写操作,通过字节使能LBE1#、LBE0#区分当前的8位数据是第几个字节有效。

加密卡硬件总体设计方案如图1所示。

2硬件各组成部分说明

2.1PCI9052部分

PCI9052是PCI总线专用接口芯片,采用CMOS工艺,160引脚PQFP封装,符合PCI总线标准2.1版。其总线接口信号与PCI总线信号位置对应,因此可直接相连,易于PCB实现。PCI9052的较大数据传输速率可达132MB/s;本地时钟较高可至40MHz,且无需与PCI时钟同步;可通过两个本地中断输入或软件设置产生PCI中断。它支持三种本地总线工作模式,实际设计采用地址和数据线非复用、8位本地数据总线、非ISA模式。

PCI9052内部有一个64字节PCI配置空间,一个84字节本地配置寄存器组。对PCI9052的配置可由主机或符合3线协议的串行EEPROM完成(注:ISA模式必须由串行EEPROM完成配置)。实际设计采用Microchip公司的93LC46B存放配置信息。系统初始化时,自动将配置信息装入PCI9052,约需780μs。如果EEPROM不存在或检测到空设备,则PCI9052设置为默认值。

在设计中,EEPROM用到的配置项目有:设备ID:9050;厂商ID:10B5;分类代码:0780;子系统ID:9050;子系统厂商ID:10B5;支持INTA#中断,PCI3C:0100;分配4字节本地I/O空间:(例LAS0RR)0FFFFFFD;其它本地地址空间未使用:00000000;4字节本地I/O空间基地址(模4对齐):(LAS0BA)01200001(仅为示例);4字节本地I/O空间描述符:(LAS0BRD)00000022(非猝发、LRDYi#输入使能、BTERM#输入不使能、不预取、各内部等待状态数均为0、8位本地数据总线宽度、小Endian模式);中断控制/状态,Local4C:00000143(LINTi1使能、LINTi1边沿触发中断选择使能、LINTi2不使能、PCI中断使能、非软件中断、ISA接口模式不使能);UserI/O、从设备应答、串行EEPROM、初始化控制,Local50:00024492。有两点要注意:一是设计中采用PLX公司推荐使用的串行EEPROM93LC46B按字(16bit)为单位组织;二是EEPROM开发器编辑输入与手工书写的顺序对应关系,以厂商ID:10B5为例,在开发器编辑输入的是b510,而不是10B5。

PCI9052本地信号的含义是:LAD[7..0]:本地8位数据总线;WR#:写有效;RD#:读有效;LW/R#:数据传输方向,高电平为写操作,低电平为读操作;LBE1#和LBE0#:字节使能,表明当前LAD[7..0]上的数据是第几个字节(0到3);BLAST#:PCI9052写数据准备好或读数据已取走;LRDYi#:外部设备(此设计指单片机)已把PCI9052写操作数据取走或读操作数据准备好;LINTi1:外部设备通过LINTi1向主机发送INTA#中断,当单片机验证密钥正确,向主处理器发送请求,表明可以开始从中读取相关数据。

需注意的是,PCI9052在使用时,某些引脚要加阻值为1kΩ~10kΩ的下拉或上拉电阻。因此在实现时,给MODE、LHOLD、LINTi1引脚加下拉电阻,CHRDY、EEDO、LRDYi#引脚加上拉电阻。

图2PCI9052本地写时序

以主处理器向单片机写数据为例,图2给出了PCI9052的本地写时序。

2.2ispLSI2064部分

为降低数据被解析的风险,应尽量减少使用分离元件。因此在设计中选用了Lattice公司的CPLDispLSI2064。该芯片采用EECMOS技术,100引脚TQFP封装,拥有2000个PLD门,64个I/O引脚另加4个专用输入,64个寄存器,3个全局时钟,TTL兼容的输入输出信号。2064具有在系统可编程ISP(In-SystemProgrammable)功能,可方便实现硬件重构,易于升级,降低了设计风险,并且安全性能高。PCI9052与单片机之间的8位数据线进行双向数据传输,不能简单地直接相连,需要进行传输方向控制和数据隔离。故用2064作为PCI9052本地信号与单片机信号进行信号传递的接口,图3给出了8位数据信号双向传输的原理图。2064的开发软件ispDesignExpert8.2版支持VHDL、VerilogHDL、Abel等语言及原理图输入,且通过专用下载电缆可把最终生成的JEDEC文件写入2064,实现编程。在设计时采用了原理图输入的方法。

原理图中用到的BI18的功能描述为:当OE=1时,XB为输出,A为输入,即XB=A;当OE=0时,XB为输入,Z为输出,即Z=XB。FD28的功能描述为:8位D触发器(带异步清除)。结合PCI9052本地读写时序,可以分析得出,在进行读写操作时,图3实现了LAD[7..0]与D[7..0]之间正常的数据传输;在非读写时,双方数据处于正常隔离状态。

2.3单片机AT89C51部分

单片机采用ATMEL公司的AT89C51。这是一个8位微处理器,采用CMOS工艺,40引脚DIP封装。它含有4K字节Flash和128字节RAM,且自身具有加密保护功能。单片机不进行外部存储器和RAM的扩展,程序存储和运行均在片内完成,有效地保障了加密强度。

图3LAD[7..0]与D[7..0]之间的数据传输

单片机的P0口接图3的D[7..0],并加10kΩ的上拉排阻。WR#、RD#、W/R#、BE1#、BE0#作为单片机输入信号接P2口。PCI9052写数据准备好或读数据已取走信号REQ9052#作为单片机输入信号接P3.2(INT0#);写数据单片机已取走或读数据单片机准备好信号RDY51#作为单片机输出信号接P1.0;接P1.1的OVER51#作为单片机输出信号,经2064接PCI9052的LINTi1,通过LINTi1向主机发送INTA#中断请求。

基于PCI总线的加密卡,依照PCI总线标准2.1版,通过动态分配4字节I/O空间,实现主处理器与卡上单片机之间的握手通信。被加密软件通过访问加密卡,获取软件正常执行的相关权限。在加密卡不存在的情况下,被加密软件因得不到相关授权而无法运行,从而实现了加密功能。在单片机的存储器里,除了存放密钥之外,设计者还可以把被加密软件的部分程序、算法或常数写入单片机的存储器,在加密卡不存在的情况下,被加密软件的功能是不完整的,从根本上防止了软件破解。

硬件设计论文:压缩卡软硬件设计管理论文

摘要:随着计算机技术、多媒体和数据通信技术的发展,计算机视频的应用越来越广。但视频通常由于数据量巨大,应用受到不少限制。为解决视频数据的存储和传输,途径就是对视频数据进行压缩。结合目前实际需求,给出了一种基于PCI总线的MPEG-I压缩卡的软件、硬件实现方案。

关键词:PCI总线WDM驱动MPEG-1压缩卡

随着计算机技术、多媒体和数据通信技术的高速发展,人们生活水平的提高,对计算机视频的需求和应用越来越多,如视频监控、视频会议、计算机视觉等。计算机视频提供给人的信息很多,但是视频的数据量很大,不利于传输和存储,使其应用受到不少限制。为解决视频数据的存储和传输,途径就是对视频数据进行压缩。

目前常见的视频压缩方法有MPEG-1、MPEG-2、MPEG-4、H.261、H.263等。考虑压缩技术的成熟度和该压缩卡的主要用途,本文采用MPEG-1作为压缩标准,研制了基于PCI总线的MPEG-I压缩卡。该卡适用于视频监控、视频会议等多种应用场合。该卡加上一台主机、摄像头和软件可构成一个完整的视频采集压缩系统。

1系统特点

(1)支持BNC、RCA、S-VIDEO视频接口;

(2)支持PAL和NTSC制式;

(3)可对视频实时预览,较大分辨率可达720×576×32;

(4)可对声音进行同步监听;

(5)可对音、视频信号进行MPEG-I压缩,生成MPEG文件和VCD文件;

(6)用户可编程MPEG-1编码设置,可支持CBR和VBR;

(7)可一机多卡同时工作;

(8)可从动态影像中捕获单帧,生成JPG和BMP文件;

(9)支持Win98/Win2000。

2系统硬件设计

2.1系统组成

该系统主要由视频解码、音频解码、压缩核心和PCI接口等组成,其总体框图如图1所示。

2.2视频解码设计

视频解码部分主要完成模拟视频到数字视频的处理,以供后面预览、压缩用。视频解码芯片常用的有SAA7110、SAA7113和SAA7114等。本方案中采用Philips公司的SAA7114。SAA7114有六路模拟输入,内置模拟源选择器可构成6×CVBS、2×Y/C2×CVBS、1×Y/C和4×CVBS;两路模拟预处理通道,内有抗混迭滤波器;CVBS或Y/C通道含可编程静态增益控制或自动增益控制功能,对CVBS、Y/C通道可进行自动钳位控制;能自动检测50Hz/60Hz场频,并可自动在PAL和NTSC制式进行切换;能将PAL、NTSC和SECAM信号解码及模数变换得到符合ITU-601/ITU-656的数字电视信号。该芯片是目前视频解码芯片中接收视频源的宽容性及视频解码图像质量好的一种。其通过I2C接口,进行初始化设置。

本系统采用ImagePort作为数字视频输出端口,数字视频格式采用ITU-656AI11(PIN20)作为BNC/RCA输入脚,AI12、AI22作为S-VIDEO输入脚。

图2SAA7146A方框图

2.3音频解码设计

音频解码的数据一部分提供给SAA7146A作声音监听用,另一部分用于压缩。考虑到成本,本系统采用BURR-BROWN公司的PCM1800E。该芯片是双声道单片ΔΣ型20位ADC单+5V电源供电,信噪比为95dB(典型值),动态范围95dB(典型值),内嵌高通滤波器,支持四种接口方式和四种数据格式。其采样频率为32kHz、44.1kHz和48kHz可选。

本系统采用从模式,20位I2S数据格式。主时钟由SAA7114提供。

2.4MPEG-1压缩部分设计

本系统中MPEG-I压缩芯片选用ZAPEX公司的SZ1510。该芯片基于TI的TMS320C54xDSP内核,能对ITU-601/ITU-656数字电视信号和PCM音频流进行MPEG-1实时压缩,可生成多种流,如音频基本流、视频基本流、音视频复合流等。

该芯片外接27MHz晶振,可支持多种主机接口,可工作在复用或非复用、Intel或Motorola类型总线。通过输入管脚HCONFIG1:0和SysConfig寄存器可设置成六种总线接口类型:Intel8051类型的数据/地址复用的8位总线、Motorola类型的数据/地址复用的8位总线、Intel8051类型的非复用的8位数据总线、Motorola类型的非复用的8位数据总线、Intel8051类型的非复用的16位数据总线和Motorola类型的非复用的16位数据总线。支持I2S声音接口。

本系统中采用Intel8051类型的非复用的16位数据总线。

2.5PCI接口部分设计

本系统中PCI接口芯片选用SAA7146A,该芯片并不是通用的PCI接口芯片,而是一个多媒体桥(MultimediaBridge)。方框图如图2。该芯片符合PCI2.1规范。它有八个DMA通道,三个视频,四个音频,一个DEBI(DataExpansionBusInterface)。还具有两路视频通道,可对视频数据进行缩放,一路可无级缩放HPS(HighPerformaceScaler,其纵向可达1:1024、横向可达1:256;另一路有级缩放BRS(BinaryRatioScaler支持CIF和QCIF格式。

音频接口以I2S为基础,通过编程控制以支持MSB-FIRST的不同格式及不同的时序格式。

本系统中该部分主要实现功能如下:

(1)通过DEBI接收SZ1510产生的MPEG-1数据,传输到内存;

(2)通过视频接口,接收SAA7114输出的视频解码信号,并进行亮度、色度、饱和度的控制,并实现无级缩放功能实现视频预览功能;

(3)通过音频接口,接收PCM1800E输出的PCM编码信号,传输到内存,实现声音监听功能;

(4)提供符合PCI2.1规范的接口,将板上数据传输到主机内存。

3软件设计

软件设计主要包括驱动程序设计和应用层的API设计。驱动程序主要负责与硬件打交道,应用层API主要负责与驱动程序接口。由于设计了应用层的API,应用程序可很容易在上面进行开发。

3.1驱动程序设计

为了支持Windows2000和Windows98采用WDMWindowsDriverModel驱动程序。WDM作为微软的近期驱动程序模型与传统的Win3.x和Win95使用的VxD驱动不同。WDM可支持电源管理、自动配置和热插拔等。WDM驱动的设计可以采用DriverStudioDS、Windriver、DDKDriverDeviceKit等。本系统驱动采用Windows2000DDK借助VC6.0设计。

3.1.1MPEG-I压缩部分

在驱动中,重置SZ1510后,就可以装载相应工作模式的微码;根据需要,设置好相应寄存值后就可以启动SZ1510对视频数据进行MPEG-1编码。每当产生的压缩数据超过SZ1510内部的FIFO门限后,SZ1510产生相应中断,内核调用中断例程,在中断例程中调用中断延迟例程DPC,在中断延迟例程中接收产生的压缩数据。SZ1510提供两种方式提取数据,一种用I2C总线接口方式,另一种用DEBI方式。

在本系统中,采用DEBI进行压缩数据的传输。考虑到压缩数据产生的速度,本系统开了32页大小的缓冲区,在中断延迟例程中填充该缓冲区。每当填满8页大小后,产生一个事件通知应用层进行数据读取。通过这种方式,可以避免压缩数据的丢失。

其流程图如图3所示。

在驱动中,压缩数据的提取方式将极大地影响生成MPEG文件的质量。如果处理不当,将导致马赛克、跳帧等现象。

3.1.2驱动程序中用户缓冲区的访问

驱动程序访问用户内存主要通过缓冲I/O和直接I/O。缓冲I/OI/O管理器创建一个内核模式拷贝缓冲区,并把用户缓冲区的内容拷贝到该缓冲区中,并在IRP首部的AssociateIrp.SystemBuffer域中存储该非分页内存地址。驱动程序可简单地读写该块内存。直接I/O,I/O管理器为输入数据提供一个内核模式拷贝缓冲区,对输出数据提供一个内存描述符(MDL)。为了使用缓冲I/O或直接I/O在创建设备时,必须设置设备对象的Flags域中的DO_BUFFERED_IO标志位来使用缓冲I/O或设置DO_DIRECT_IO标志位来使用直接I/O。

在本驱动中由于缓冲I/O和直接I/O都被使用,DO_BUFFERED_IO标志位和DO_DIRECT_IO标志位都被设置。

在定义IOCTL码中,对缓冲I/O使用METHOD_BUFFEERED对直接I/O使用METHOD_OUT_DIRECT。

3.2应用层API设计

应用层对驱动程序的访问通过调用Win32I/O函数(如ReadFile、WriteFile和DeviceIoControl)访问。当应用层调用Win32I/O函数以请求I/O后,该请求由内核的I/O系统服务接收,I/O管理器对该请求构造合适的IRP包,并将其传给驱动程序栈,IRP在栈中进行传递,传到驱动程序进行处理,并将结果返回给应用程序。

通过应用层API,在其上面可进一步开发各类应用程序。

本系统达到了预期的要求,能够在音视频采集过程中对视频、音频进行实时预览、监听。压缩生成的文件可在标准媒体播放器上播放,并可对生成的VCD文件进行刻录,然后由VCD机播放.

硬件设计论文:硬件地址识别设计分析论文

摘要:在通信和控制系统中,常使用异步串行通信控制器(UART)实现系统辅助信息的传输。为实现多点通信,通常用软件识别发往本站点或其它站点的数据,这会加大CPU的开销。介绍了一种基于FPGA的UARTIP,由硬件实现多点通信时的数据过滤功能,降低了CPU的负担,提高了系统性能。

关键词:UART多点通信FPGA知识产权

在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数据,消耗了CPU较多的时间。89C51单片机有一种九位通信方式,采用一位地址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用的UART芯片如16C550和89C51等构成总线式的通信系统时,需要由CPU通过软件处理接收到的地址和产生九位的数据。本文介绍的UART采用VerilogHDL硬件描述语言设计,可以用FPGA实现,可应用于SoC设计中。其主要特性如下:

·全硬件地址识别,过滤数据不需要CPU的介入;支持一个特殊地址,可用于监听和广播。

·支持查询和中断两种工作方式,中断可编程。

·接收和发送通路分别有128ByteFIFO,每个接收字节附带状态信息。

·设计采用VerilogHDL语言,全同步接口,可移植性好。

·支持自环测试功能。

·波特率可以编程,支持八位或者九位两种数据格式。

设计的UART的九位串行数据格式如图1所示。在空闲状态,数据线处于高电平状态。总线由高到低跳变,宽度为一个波特率时间的负脉冲为开始位,然后是8bit的数据位。数据位后面是lbit的地址信息位。如果此位是1,表示发送的字节是地址信息;如果此位是0,传输的是正常数据信息。地址指示位后是串行数据的停止位。

1UART设计

UART采用模块化、层次化的设计思想,全部设计都采用VerilogHDL实现,其组成框图如图2所示。整个UARTIP由串行数据发送模块、串行数据接收模块、接收地址识别模块、接收和发送HIFO、总线接口逻辑、寄存器和控制逻辑构成。串行发送模块和接收完成并/串及串/并的转换,接收地址的识别由接收地址识别模块完成。发送和接收HIFO用于缓存发送和接收的数据。总线接口逻辑用于连接UARTIP内部总线和HOST接口。寄存器和控制逻辑实现UARTIP内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生。以下详细说明主要部分的设计原理。

1.1串行数据发送模块

串行数据发送模块将数据或地址码由并行转换为串行,并从串行总线输出。设计采用有限状态机实现,分为空闲、取数、发送三个状态。其状态迁移如图3所示。各个状态说明如下:

空闲状态:状态机不断检测发送使能位、UART使能位和发送FIFO空/满标志位,如果使能位为高、UART使能打开且FIFO空标志位为低,串行发送进入取数状态。

取数状态:在此状态,分两个周期从发送FIFO中取出待发送的数据或者地址,然后进入发送状态。

发送状态:在此状态,状态机按照九位串行数据的格式依次发送开始位、数据位、地址指示位。待停止位发送完毕后,返回空闲状态。一个字节的数据发送完毕后,进行下一个字节数据的发送流程。

1.2串行数据接收模块

串行数据接收模块用于检测串行数据的开始位,将串行总线上的串行数据转换成并行数据并输出。接收逻辑也采用有限状态机实现,分为空闲状态、寻找开始位、接收数据和保存数据四个状态。其状态迁移图如图4所示。各个状态说明如下:

空闲状态:在此状态,不断检测接收使能、UART使能和串行输入信号的状态。如果串行输入信号出现由高到低的电平变化且UART使能和接收使能都为高,则将采样计数器复位,并进入寻找开始位状态。

寻找开始位:在此状态,状态机等待半个波特率的时间,然后重新检测串行输入的电平。如果为低,则判断收到的开始位有效,进入接收数据状态;否则认为数据总线上出现干扰,开始位无效,重新返回空闲状态。

接收数据:在此状态,依次接收串行数据线上的数据位、地址指示位和停止位,结束后进入保存数据状态。

保存数据:此状态将收到的串行数据以并行方式从接口的并行总线输出,然后返回空闲状态,准备进行下一个字节数据的搜索和接收。

为提高对串行输入上突发干扰的抵抗能力,对于接收数据,在脉冲的中间位置连续采样三次,较多的电平作为接收的有效数据。所有接收数据的采样频率为接收波特率的16倍。

1.3硬件地址识别模块

硬件地址识别模块用于从接收到的数据中判断出地址和数据,在地址识别功能打开时,选择数据通过或者丢弃;而该功能关闭时,所有数据都会通过。地址识别模块是一个有两个状态的有限状态机,分为地址和数据两个状态。其状态迁移图如图5所示。状态说明如下:

地址状态:在此状态时,判断接收到的数据以及地址识别使能位。如果地址识别功能没有打开,对于接收的任何地址,都进入数据状态。如果地址识别功能打开,则将收到的地址和本地地址比较,如果相等,则保存此地址,进入数据状态;否则继续在此状态接收数据和地址,将收到的数据忽略。

数据状态:将接收到的数据输出,直到收到地址位时,返回地址状态,处理地址。

为实现监听和广播功能,将地址255作为特殊地址,它可以和任何地址匹配。若本站的地址为255,此站点可以接收任何地址的数据,此功能可以用于监听总线上的数据;若发送数据的目的地址为255,则任何站点都会接收到此数据,此功能可以用于发送广播数据。

1.4FIFO设计

FIFO由控制逻辑和双口RAM组成,控制逻辑用来实现将一个双口RAM转换成两个FIFO的功能,这两个FIFO分别用于发送和接收数据缓存;中断控制用于在中断工作方式时管理UART内部的中断状态和控制信息。

为减少所需块RAM的数量,接收和发送FIFO使用同一个块RAM实现,使用仲裁机制保障两个FIFO的四个端口,在同一时刻最多只有两个操作,不影响对FIFO的读写。

1.5总线接口

UART采用同步接口,所有信号都在系统时钟的上升沿采样,设备的握手用一位应答信号完成。

数据总线宽度采用8+2的方式。和16位或者32位宽度的数据总线连接时,可以一次读取接收数据的数据和地址指示位,减少总线操作次数;若和8位系统连接,可以只连接低8位数据线,接收数据的地址信息可以通过内部的状态寄存器读取。

1.6寄存器和控制逻辑

寄存器部分实现UART内部所有数据的收发、控制和状态寄存,用于设置UART的数据格式、收发波特率、FIFO控制、本地地址、地址识别、中断控制和状态寄存,实现对UART工作的控制。

控制逻辑产生所需的所有波特率信号及对应的上升和下降沿指示信号,并根据实际工作所选择的波特率输出与系统时钟同步的对应信号。波特率产生逻辑的组成框图如图6所示。

2功能和时序仿真

首先结合功能仿真设计系统的仿真平台。仿真平台如图7所示。系统仿真平台和仿真激励采用VerilogHDL语言设计,可同时用于功能仿真和时序仿真,不能用于二者的综合。寄存器级模型为用于UARTIP设计的RTL描述,全部采用可以综合的VerilogHDL语句编写。仿真使用的软件为ModelSim。

功能仿真包括以下几个方面:

(1)基本模块连线时序的仿真。首先用描述方式设计UART的接口模型,利用仿真激励进行简单的读写操作,设计出仿真激励信号和系统仿真平台。然后结合仿真激励信号逐步完成UART的各个子模块的设计。仿真时,需要逐步观察UART接口信号的波形、UART内部模块的接口信号波形、各种状态机的状态迁移和数据指针的值以及状态位的值,逐步完成寄存器传输级的UART设计。

(2)UART的工作仿真。完成RTL的寄存器传输级模型后,根据系统软件工作的模式,用HDL设计出数据收发的仿真激励,打开自环功能,进行数据的发送和接收。仿真可以分为仿真查询和中断两种工作方式。对于中断工作方式,需要用HDL语言模拟软件的中断机制,

进行中断工作方式的仿真。打开地址识别功能,发送不同目的地址的数据,观察UART的硬件地址识别情况。

完成功能仿真后,将设计进行布局布线,生成Ver-ilogHDL形式的时序仿真模型和标准时延文件,利用与功能仿真相同的仿真平台进行时序仿真。时序仿真只需要仿真工作方式。功能仿真和时序仿真使用相同的仿真平台和激励向量,这样便于比较二者的差异,发现设计代码存在的问题。

3综合和测试结果

本设计用Synplicity公司的SynplifyPro作为综合工具,用XilinxISE5.2作为布局布线工具,采用器件为XC2S100IIE-7。综合结果显示,该UARTIP占用资源情况为:SLICE275个、内部块RAM1个、I/O24个,HOST总线可以达到的频率为73.2MHz。

测试程序参考仿真激励的生成,用C语言在vxWorks操作系统下设计。测试所用方法和工作仿真相同,只是仿真激励对应测试程序,而RTL模型对应实际的FP-GA器件。

多点测试使用了五块单板,采用半双工总线方式,定义简单的数据包格式,用于检测数据错误并返回数据。数据包的格式为地址开头,后面是较大255Byte的数据;数据部分包括发送方的地址、数据校验和及包的长度。另外,还定义简单的驱动程序格式,完成基本数据的收发和控制,然后在上层加载多点通信协议。其中的一块加载主设备程序,其它单板加载从设备程序。主设备周期性地向其它从设备发送测试数据,并在规定的时间内等待接收目标单板的数据。从设备软件只接收发给本单板的数据,如果校验正确,将收到的数据发给主设备;如果有错误,则不进行任何操作。主设备若在规定时间内无法接收从设备的数据或者接收数据错误,则判断通信异常,进行下一个设备的测试。

测试时,数据包长为240Byte,波特率为115200。常温和高低温环境下的测试结果表明,UARTIP工作稳定,达到了设计要求。

本UARTIP全部采用VerilogHDL设计,可以在采用FPGA实现的通讯和控制系统中作为系统多点通讯控制器,也可以用于片上系统(SoC)的设计。用于多点通信时,可以有效降低CPU的额外负担,提高CPU系统的利用率。由于采用语言描述,移植性强,可以用于不同厂家、不同型号的FPGA芯片中,提高了系统的设计速度和效率。

硬件设计论文:路由器硬件设计研究论文

摘要:介绍了VoIP语音卡在路由器中的应用,详细描述了一款应用于路由器的语音卡的硬件结构及其工作方式。

关键词:VoIPPCIFXS路由器语音压缩

1VoIP在路由器中的应用

近年来,VoIP(VoiceoverInternetProtocol)给通信市场带来了强大的冲击。IP语音业务推出后,由于其在通话费用上比传统电话具有突出的优势,因而受到了广泛欢迎。VoIP技术在路由器中应用,可以大大节省有多个部门在不同地方办公的企业或机构的电话费用。图1为一个VoIP路由器在公安分局与派出所间应用的方案。

派出所网点的路由器DCR-2501V和DCR-2509V使用FR(帧中继)或DDN线路同分局的DCR-3660实现互连,各网点的计算机可通过路由器连接分局的局域网或Internet,实现数据通信;同时,DCR-2501V或DCR-2509V通过FXS语音端口连接普通电话机,分局路由器通过E&M接口和PBX连接,这样既可以实现内部各部门间的数据通信,同时还可进行零费用的语音通话。

VoIP在费用上呈现巨大优势的原因在于其利用了计算机通讯的分组化、数字化传输技术,先对语音数据按照一定的语音压缩标准进行压缩编码处理,然后把这些数据按IP相关协议打包,再将数据包通过IP网络传输到接收端,接收端将这些以不同顺序到达的数据包按其本身顺序串起来,并经过解码解压恢复出原来的语音信号。与传统的语音业务相比,VoIP在时间延迟、话音质量等方面存在缺陷。可以采用一些先进的协议如资源预留协议(RSVP)和不同类型服务(Diffserv)等方案来尽可能的优化语音数据包的传输,以减少传输延迟和拥塞。

目前,VoIP的标准主要有国际电信联盟技术部(ITU-T)建议的H.323系统和IETF建议的会话发起协议(SessionInitiationProtocol,SIP)系统两种。前者主要在电信网络上实现多媒体业务制订,技术已趋成熟。后者基于动态的Internet模式建网,是基于软交换技术的面向网络会议和电话的简单信令协议。在我国,主要选用H.323技术标准来实现VoIP,在H.323系列标准中,音频压缩编码标准有G.711、G.722、G.723和G729等。

本文将介绍一种已经应用于路由器产品中的VoIP语音卡的硬件设计和工作原理。

2VoIP语音卡硬件结构

该语音卡基于AudioCodes公司的VoPP(VoiceOverPacketProcessor,即语音包处理器)AC48302设计,采用PCI接口界面,可提供两个FXS(ForeignExchangeStation)语音/传真接口,可以方便灵活地应用于本公司开发的系列路由器中,实现VoIP功能。其硬件结构框图如图2所示,以下介绍各部分硬件的原理和作用。

2.1PCI接口

路由器主板与语音卡之间通过PCI总线连接,便于通用。采用了PCI接口芯片PLX9030实现语音卡本地总线(HPI)与PCI总线之间的转换。由于语音卡上数据流量不大,不需要利用如DMA方式主动向路由器主板上的Memory空间传递数据。因此,语音卡工作于PCI的从模式方式,AC48302通过中断方式接收或发送语音数据,PCI总线的数据宽度和速度为32位/33MHz。

2.2CPLD部分

AC48302采用8位并行的主处理器接口HPI与外部CPU(即路由器CPU)进行数据交换。在本设计中,HPI接口与PLX9030的本地总线接口时序稍有差别,经过CPLD进行调整。另外,路由器CPU还可通过CPLD控制CODEC和SLIC芯片。

2.3AC48302芯片

AC48302是AudioCodes公司推出的一款低功耗、低价格的双通道语音包处理器,其内部集成了一个DSP内核。该芯片的主要特性如下:

·支持两个通道的语音压缩编码,语音压缩标准包括G.729A、G.723.1、G.727、G.726、G.711。

·兼容T.38或FRF.11传真中继(2.4~14.4kbps)。

·呼叫ID产生和检测,呼叫进程和用户定义语音的检测和产生。

·兼容G.168的25ms回声消除。

·高性能的有效语音检测(VAD)和舒适噪声产生(CNG)。

·DTMF检测和产生。

·A律/μ律可选的Codec接口,具有输入输出增益控制。

·PCMHighway接口。

·并行的主处理器接口(HPI)。

AC48302各部分硬件接口如图3所示。

图4AC48302HPI存储器的映射关系

2.3.1语音接口(VoiceInterface)

语音接口提供未压缩的语音、传真数据的输入输出通道。语音接口对外提供四根信号线构成PCM总线,直接连接外部CODEC芯片的PCMHighway。这四根信号线为PCMIN、PCMOUT、PCMCLK、PCMFS。PCMIN输入从CODEC送来的PCM信号,AC48302内部的DSP按照相应标准(如G.729)压缩后从HPI给路由器CPU转发。PCMOUT则相反,AC48302将路由器CPU送来的语音数据按照合适的标准解压缩,然后从PCMOUT口送到外部CODEC,CODEC经过数/模转换后恢复成语音信号?熏通过用户接口送给用户端。PCMCLK提供2.048MHz的比特同步时钟,而PCMFS提供8kHz的帧同步时钟。

2.3.2HPI接口

在本设计中,路由器CPU与AC48302通过HPI口进行通信。路由器CPU和DSP通过AC48302的片内共享的双口存储器实现数据交互。片内共享存储器的映射关系见图4。

HPI接口包括1根8位数据总线和几根控制总线。路由器CPU通过三个寄存器(HPIC、HPIA和HPID)控制AC48302及访问片内存储空间。HPIC为控制寄存器,用来选择AC48302的高低字节顺序、产生和接收中断。HPIA为地址寄存器,用来寻址片内的2K存储空间。HPID为数据寄存器,用来缓存每次读写的两个字节数据,外部CPU可以单个Word或块数据方式访问HPID,当以块数据方式访问时,HPIA寄存器自动累加,这样可以减少外部CPU写HPIA寄存器的开销。AC48302的内部寄存器和存储器为16位宽度,因此外部CPU每次访问AC48302必须以两个字节为基本单位,信号线HI/LO用来选择高低字节,信号HRS1、HRS0指示当前访问的是哪个寄存器。

除了以上两个重要的接口外,AC48302内部还包含一个PCM时钟发生器、一个用于测试的JTAG接口以及一个用于访问外部SRAM及处理信道辅助信令的Memory&I/O接口。

2.4CODEC接口芯片

CODEC芯片负责对DSP解压缩后送来的PCM数据进行解码,并将滤波后的模拟语音信号送到用户线接口芯片SLIC,SLIC对其进行2-4线转换后送给用户端;同时,CODEC还负责将SLIC送来的模拟语音信号进行PCM编码,然后送到DSP芯片进行压缩处理。

本设计中,CODEC芯片采用IDT公司的4通道PCM编解码芯片IDT821034。该芯片具有可编程增益设置、主时钟可选(2.048MHz、4.096MHz和8.192MHz)、较大可支持128个可编程时隙、A律/μ律可选、内置数字滤波器、串行控制接口、低功耗等特点。本设计中选用主时钟为2.048MHz(E1帧模式),可划分为32个相等的时隙(Slot0~Slot31),4个通道的接收和发送时隙可通过向串行控制口写入控制字进行动态选择。各时隙的位置都以8kHz的帧同步时钟信号为参考,在IDT821034中,时隙0相对帧同步脉冲的位置有延迟模式和非延迟模式(图6即为非延迟模式)。

PCM主时钟(BCLK)、帧同步时钟(FS)、接收数据(DR)和发送数据(DX)一起构成PCMHighway信号,与AC48302进行连接。BCLK与FS分别对应AC48302的PCMCLK和PCMFS,这两个时钟信号都由AC48302产生;DR和DX分别对应AC48302的PCMOUT和PCMIN。PCMHighway信号时序以及时隙与帧同步信号的关系分别如图5、图6所示。为了CODEC与DSP芯片间正确收发数据,一般选择CODEC芯片在BCLK的上升沿发送数据DX,下降沿采样数据DR,而在另一端的AC48302,则在时钟下降沿采样PCMIN,上升沿发送PCMOUT。

2.5用户线接口(SLIC)芯片

设计中为了使语音卡能够提供FXS接口功能,采用了爱立信公司的新型SLIC芯片PBL83710连接用户接口。在该芯片内部能够产生高电压铃流信号及提供自动电池馈电切换,具有环流振铃和地键检测功能及2-4线转换功能。该芯片将许多传统的振铃继电器、铃流发生器等器件集成在一个片内,节省了印制板空间和成本。

3VoIP语音卡硬件驱动流程

硬件驱动程序主要完成以下功能:

(1)初始化PLX9030芯片,配置相关寄存器,选择本地总线工作方式。

(2)初始化AC48302芯片,启动AC48302内部的DSP内核到正常工作状态。AC48302的启动步骤按顺序分为以下几步:核代码(Kernel)下载;程序代码(Program)下载;初始化模式;启动运行。

(3)驱动语音卡的正常操作。接收处理摘挂机中断,将SLIC置于正确状态;配置CODEC芯片的各通道收发数据时隙以及CODEC芯片的增益控制;接收处理AC48302数据包处理中断,AC48302每处理完一个语音数据包就通过中断方式通知路由器CPU读取当前Buffer中的数据或向Buffer写入下一个数据包。

本文采用的是FXS接口,只要对CODEC后面部分电路稍加改动即可实现FXO或E&M接口功能。目前,该语音卡方案在路由器产品中已获广泛采用。

硬件设计论文:FPDP总线接口电路的硬件设计

1.1 研究工作背景

总线是支持计算机及微处理器各模块间信息传输的公共通道,也是与外界进行数据交换的接口,一般包括数据、地址、控制等信号。总线技术包括通道控制功能、使用方法、仲裁方法和传输方式等,系统地研制和外围模块的开发都必须服从一定的总线规范。在总线结构中,局部总线的发展最令人瞩目,目前应用比较广泛的局部总线是PCI总线,但是存在一定的局限性,如果数据在通过PCI总线时,延迟时间过长(即便带宽满足),系统将崩溃。这种问题通常可以通过增加缓存来解决,但这种解决方法并不能从根本上解决问题,PCI总线的局限性还在于不能够脱离主机独立工作。

随着电子技术的发展,越来越多的系统需要大量的数据传输,此时单板系统已不能满足要求,需要多板来共同实现,因此数据的板间传输就显得尤为重要,而FPDP总线可提供两块或多块VME总线板之间的高速数据传输,其数据传输率较高可达160MB/s,在一个单独的VME板上也可以有多个FPDP总线进行信息传输。在多板系统中,应用VITA标准中的FPDP总线,必将提高系统的数据传输能力。

FPDP总线是VME工业标准化组织制定的传输高速数据的总线标准,是提高系统数据吞吐能力的一种手段。在信号处理系统中,利用FPDP总线将系统前置处理的数据,高速传输到信号处理板,必将充分发挥DSP的功能,提高系统的数据输入/输出能力[1]。

1.2 FPDP总线技术及其发展

FPDP是一个在板卡之间直接传输数据的系统,具有良好的带宽和延时特征,适用于高端实时的DSP系统。现在流行的标准协议是VME、ISA、PCI,这些协议都依赖于共享的底板上的总线,共享意味着争夺有限的底板资源,它们不是以带宽保留和保障延时的概念开发出来的。因此尝试利用这些标准协议实现高端实时的DSP系统会出现冲突和失败。所以在许多场合设计者想设计一个专门的通道,相当于一个边带总线来传输特定的数据,这时FPDP总线就应运而生了。

FPDP总线标准由VME工业标准化组织制定,能够在VME或VXI总线插板之间进行高速的数据传输,该总线也可以作为其它类型总线插板的局部数据传输总线。

FPDP总线应用范围广泛,特别是在高速数据采集系统中,现在许多高速数据采集系统会碰到数据采集和要求把大量采集的数据实时送到处理板上进行处理的问题,由于在实际应用中,数据采集和数据处理往往是分开的,一块是数据采集卡,另一块是数据处理卡,两块板卡之间是独立的,若利用计算机现有的总线标准进行数据传输,如PCI,VME等总线,存在两个问题:一是若利用这些标准,就必须将两块板卡放在同一台主机里,而一台主机的总线资源是有限的,难免会出现资源争夺,带宽不能满足要求,故不能满足数据实时处理的要求;二是在实际有些情况下,必须将一台主机的数据传到另一台主机进行处理,若利用现有的计算机总线标准肯定不能满足要求,这时用FPDP总线将数据从采集卡传输到处理卡就能很好地满足高速数据采集系统的要求,因为它不占用底板或主机的总线资源。基于FPDP的数据采集系统,可广泛应用于航空航天、地震监测、石油勘探、医疗设备、声纳等数字信号处理设备中。

FPDP总线传输需要相应的传输协议。一般总线的传输协议分为同步传输协议和异步传输协议两种类型。同步协议很简单但是太严格,灵活性差;相反,异步协议能适合任何一种时序要求,但命令模块和响应模块需使用较多的控制线,接口比较复杂。准同步协议是一种折衷,不做说明时系统按同步规则运行,当明确要求异步操作时采用异步协议。在一个复杂的总线系统中,微处理器之类的主设备通常利用同步协议进行大批量的、时间相对确定的数据传输,而底板则采用异步协议。VXI总线是采用异步信号交换联络协议的全并行总线,每次信息传输由判优、寻址和数据传输组成,信息传输的速率由VXI总线上反应最慢的模块决定。在雷达信号处理等需要进行大量快速的数据传输的场合,就需要在VXI总线插板上采用高速的局部总线。局部总线有两种方式供选择,一种是加背板,另一种是利用前面板扁平电缆。FPDP总线就是采用后一种方式的高速同步局部总线,它不仅适用于插板之间的数据传输,而且可以支持两个VXI机箱之间的数据传输[2]。

FPDP总线是一种全并行的32位同步总线,由于不提供任何地址信息,因此FPDP总线上的数据可被多个插板使用。在采用PECL时钟的情况下,FPDP总线能够在两个或多个VXI插板之间以每秒160MB的速率进行数据传输。FPDP总线是一种单向总线,为了能够进行双向的数据传输,系统内需要设置两套或两套以上的FPDP总线[3]。

FPDP总线协议遵循ISO参考模型[2],对低两层做出了规定。ISO参考模型全称为开放式系统互联参考模型,该模型是按照分层思想进行划分的。FPDP协议包括数据链路层和物理层的协议,对硬件接口做了详尽的规定。

硬件设计论文:PCI总线和DSP芯片的图像处理平台的硬件设计

摘要:介绍了基于PCI专用芯片S5933和DSP芯片TMS320C32图像处理平台的硬件设计。该平台使用专用视频输入处理芯片SAA7113和CPLD实现了高速连续的视频帧采集,满足了后继图像处理的需要。该平台既可以作为视频图像采集使用,也可以进行视频压缩、匹配等图像处理的算法验证,并具有使用灵活的特点。 关键词:数字信号处理芯片 视频采集 图像处理

随着计算机、多媒体和数据通信技术的高速发展,数字图像技术近年来得到了极大的重视和长足的发展,并在科学研究、工业生产、医疗卫生、教育、娱乐、管理和通信等方面取得了广泛的应用。同时,人们对计算机视频应用的要求也越来越高,从而使得高速、便捷、智能化的高性能数字图像处理设备成为未来视频设备的发展方向,这必然要求产生相适应的新理论、新方法和新算法。为了在利用这些新技术的过程中检验其可行性,研制了基于PCI总线和DSP芯片的图像处理平台,该图像处理平台是利用PHILIPS公司的视频输入处理器SAA7113、TI公司的TMS320C32高速浮点DSP和AMCC公司的S5933 PCI总线接口芯片搭建的。利用高速的PCI总线和功能强大的DSP芯片,可以进行视频压缩、图像检测、视觉定位等算法研究。

1 系统功能概述

根据实际应用需要,该系统的主要功能有:

(1)可以在不同输入制式PAL和NTSC之间进行自动切换和处理。

(2)能利用采集到的YUV图像信号数据进行压缩算法的验证,或转换成灰度图像数据、RGB格式图像数据等进行检测、定位等算法的检验。

(3)能将处理后的数据通过PCI接给上层系统(PC机)保存或进行进一步验证处理。

(4)系统具有软件修改、升级功能和灵活性,便于算法的改进验证。

系统的设计难点主要是如何实现系统数据的高速传输。图像数据由专用集成视频解码器SAA7113采集,经A/D转换处理后传输到DSP;再经DSP处理后通过PCI接口传输到PC机。如何实现SAA7113与DSP之间和DSP与S5933之间的高效率数据通信是解决这个问题的关键。通过分析研究,在SAA7113与DSP之间采用CPLD控制的两帧轮换方式,实现图像的隔行信号变逐行信号以及采集和处理的同步进行;在DSP与S5933之间采用DMA传输方式,实现数据流在系统中的高速传输,以满足图像处理要求。

2 系统的硬件设计

整个系统由视频解码器、DSP和PCI总线专用芯片组成。系统框图如图1所示。

DSP芯片采用TMS320C32,该芯片是在TMS320C30的基础上简化而来的,含有TMS320C30 CPU核心。它增加了一些常用的功能部件,使程序引导功能、串行接口传输和存储器均可支持8、16、32位的数据。它可产生边沿中断和电平中断,可由用户编程设定中断向量表的地址,具有空等待和低功耗两种电源管理方式。它具有两个DMA通道,功能强大的外部存储器接口既可以满足视频解码接口8位数据的要求,也可以实现PCI接口32位数据的的高速数据传输。TMS320C32灵活的程序加载可以实现在系统编程。

PCI总线专用接口芯片采用S5933,它是一种功能强且使用灵活的PCI总线控制器专用芯片,该芯片符合PCI局部总线规范2.1版本,既可作为PCI总线目标设备,实现基本的传送要求;也可作为PCI总线主控设备,访问其它PCI总线设备。S5933的峰值传送速率为132Mbps(32位PCI数据线)。S5933提供了3个物理总线接口:PCI总线接口、外加总线接口(ADD-ON BUS);可选的NV存储器接口。用户可根据需要设计S5933与外加总线接口相连接的逻辑电路和配置空间的初始化,而不必考虑PCI总线规范众多的协议,从而将复杂的PCI总线接口关系转化为简单的8/16/32位外加总线(ADD-ON BUS)接口关系。S5933芯片功能框图如图2所示。

PCI总线与外加总线之间的数据传输可以通过内部先入先出存储器(FIFO)、邮箱寄存器(Mailbox)和数据直传通道(Pass-Thru)三种通道进行。各通道都包括两组寄存器以分别完成PCI总线和ADD-ON总线接口双向数据传输,为使用者提供较为宽松而灵活的设计空间。

可编程视频解码芯片采用SAA7113;该芯片是可编程视频处理芯片,采用CMOS工艺。通过简单的I2C总线可以对其实现编程控制;内部包含两路模拟处理通道,能实现视频源的选择、抗混叠(去假频)滤波、模/数变换、自动嵌位、自动增益控制、时钟产生、多制式(PAL BGHI、PAL M、PAL N、NTSC M和NTSC N)解码及亮度、对比度和饱和度控制。

本系统采用软件模拟I2C总线的控制方式,通过DSP的多功能口实现DSP对SAA7113的初始化等控制;根据SAA7113输出的同步脉冲,通过使用可编程器件CPLD,产生图像帧存储器的地址信号、读写信号以及帧切换等控制信号,实现SAA7113和DSP之间的高速数据通讯。

3 DSP与SAA7113之间的无缝连接

SAA7113输出的是隔行视频信号,一帧图像需要传送两次,分别记为奇场图像和偶场图像;视频处理的对象是逐行排列的图像信号,因此必须等待一帧图像(连续的奇、偶两场信号)采集完后,合成到一个图像帧中才能进行后续处理。利用SAA7113的同步信号,使用可编程逻辑器件CPLD构建控制器,可将图像数据写入帧存储器,解决图像帧合成问题。为了向前端处理器(DSP)提供连续的图像信号,采用两个图像帧存储器A和B交替存储的方式,来暂存采集到的图像数据和需要处理的图像数据,可实现图像的实时连续采集处理。

DSP与SAA7113之间的硬件接口如图3所示,整个接口的控制逻辑,包括两个子模块:帧图像写入控制器和乒乓开关,由一块CPLD来完成。CPLD芯片采用ALTERA公司的EPM9320RC208。两组帧存储器A和B采用CYPRESS公司生产的两块CY7C1049芯片,容量为512K×8bit,存取时间不超过15ns,能满足图像实时采集要求。

SAA7113由数字视频输出口VPO?眼7:0,输出视频数据。系统设置SAA7113的输出数据为标准的ITU 656 4?押2?押2 YUV格式,每一个象素的数据由两个连续的字节表示。为了方便地存储处理图像,系统仅取一帧图像中间的512×512个象素作为一帧,即所取图像帧为连续奇偶两场图像的中央512行,且每行取中间的512个象素的图像块。

利用

SAA7113的同步信号,帧图像写入控制器模块产生帧存储器的地址信号、写信号以及帧切换信号之一(RDY1)。SAA7113输出的同步信号包括LLC、RTS0、RTS1。LLC是行锁定系统时钟输出,为象素时钟频率的两倍,即27MHz,用来同步数据采集,使得一个LLC周期输出一个字节的图像数据。在图像数据有效时,其上升沿反相后作为帧存储器的WE#信号。RTS0、RTS1的功能是通过编程设置SAA7113功能寄存器确定的。RTS0被设置为水平输出参考信号(行有效信号),RTS0高电平时表示采集一行有效象素,低电平时表示场消隐信号?熏在RTSO上升沿后,帧图像写入控制器控制采集一行中间的512个象素数据,将其余的象素数据丢弃。RTS1被设置为垂直输出参考信号和奇偶场信号,RTS1高电平时表示采集奇场图像所需要的有效数据,在RTS1上升沿时,开始采集奇场图像数据,同时它也被用来作为帧图像开始的信号;RTS1低电平时表示采集偶场中所需要的图像数据,在RTS1下降沿时,开始采集偶场图像数据。在RTS1上升沿时,帧图像写入控制器控制采集256行象素数据作为奇场图像;在RTS1下降沿时,顺次采集下面的256行象素数据作为偶场图像,其余的图像行数据丢弃。使用512K×8bit的静态存储器(SRAM),恰好可以存放一帧512×512×2×8bit的图像。在合成一帧图像时,对应的奇场图像的第n个象素和偶场图像的第n个象素在存储器内位置相差512×2×8bit,帧图像写入控制器通过把RTS1(奇偶场有效)信号作为写入图像数据的帧存储器地址信号中的A1,把场中有效行的计数输出信号作为帧存储器地址信号中的A1[18:12],把行中有效象素的计数输出信号作为帧存储器地址信号中的A1[10:0],从而实现隔行信号变逐行信号存储在一图像帧存储器中。图4为图像采集同步信号时序图。当采集完一帧图像数据时,帧图像写入控制器产生RDY1信号,通知乒乓开关。在CPLD内部构造一个乒乓开关控制模块,自动完成帧间读写两个通道接口的切换。其中帧图像写入控制器产生的写图像帧的地址信号A1[18:0]、写控制信号WR#和SAA7113的VPO[7:0]组成了图像帧写通道的始端接口;DSP读图像帧的地址线信号A2[18:0]、读控制信号R/W#和数据线的低8位信号DI[7:0]组成了图像帧读通道的终端接口;RDY1、RDY2(FX0)作为帧切换就绪信号触发通道的切换。开始采集图像数据时,帧切换就绪信号RDY1、RDY2同时为假,图像帧写通道的始端接口信号与图像帧A的接口信号RD、WE#、A[18:0]和D[7:0]连接;SAA7113的当前帧图像数据写入帧存储器A;同时,图像帧读通道的终端接口与图像帧B的接口信号连接,DSP从帧B中取出前一帧图像数据进行处理;当前帧的图像数据采集完时,帧图像写入控制器停止采集数据,置RDY1为真;同理,当DSP在处理完前一帧图像时,设置引脚FXO置RDY2为真。乒乓开关模块在检测到RDY1、RDY2同时为真时,切换通道的接口,此时图像帧写通道的始端接口与图像帧B的接口连接;SAA7113的当前帧图像数据写入帧存储器B;图像帧读通道的终端接口与图像帧存储器A的接口信号连接,DSP从帧存储器A中取出前一帧图像数据进行处理。这样两帧轮换进行,实现了图像的实时连续处理。

在DSP和SAA7113之间所有控制信号的接口逻辑和时序转换都由CPLD来完成,增加了性,简化了PCB的版面,并且可以编程修改,提高了使用的灵活性。

图4 图像数据采集同步信号时序图

4 S5933与DSP之间的接口设计

S5933的三种数据传输方式有不同的特点,应用于不同的场合。

S5933信箱方式不支持猝发(Burst)传输,由8个32位信箱寄存器组成,可从两个方向进行访问。它们平均分为两类,分别用于PCI接口和ADD-ON接口之间的双向信息传输。主机和扩展逻辑都可以通过查询或中断方式获悉任一信箱寄存器的任一字节的空满状态,并通过相应地址访问该字节。S5933的信箱寄存器映射在DSP的I/O空间中,从而可以实现DSP对信箱的直接操作,数据速率较低,故系统中只使用这种方式传输命令和状态信息,例如PC机通知DSP设备关闭;DSP通知上层已经传送完数据(处理完的数据的大小不是固定的)等。

S5933的FIFO方式主要由两个接口共用的两个32×8比特的FIFO、读或写地址寄存器以及读或写计数器组成。两个FIFO分别作为PCI和ADD-ON接口之间的双向缓冲区。S5933提供了快捷方式:一组专门用于FIFO方式传输的控制及状态信号,包括FIFO寄存器的直接读、写以及状态信号等,用以提高数据传输速度,但此信号组只能工作在S5933为主控设备的情况下。S5933作为目标设备时,内部FIFO只是作为一般的寄存器,PCI总线如同访问信箱寄存器那样访问它们,操作比较直观,但不支持猝发传输,极大地限制了传输速度;S5933作为主控设备时,FIFO方式可进行DMA方式的猝发传输,S5933可以通过FIFO接口启动DMA传输周期,传输过程不需要CPU的干预,传输的速率与外部设备的数据传输速率有关,可以得到很高的数据传输速率。S5933的DMA数据传输启动方式有两种:PCI总线接口启动和ADD-ON总线接口启动。启动方式决定于由哪个接口设置读或写地址寄存器以及读或写计数器:PCI总线接口启动方式是由PCI总线主设备(一般是PC机的客户程序)设置DMA相关寄存器发起DMA传输的;ADD-ON总线接口启动方式是由外部逻辑电路(一般是外部插卡上的CPU)设置DMA相关寄存器发起DMA传输的。

S5933的PASS-THRU方式使主机以内存映射方式访问ADD-ON接口的存储空间,只能工作在S5933是目标设备的情况下,且外部接口需要逻辑电路的支持,故不常用。

本系统是图像处理的一个实验平台,既要求数据传输率高,又要求有一定的升级功能和灵活性。因此,系统采用FIFO数据传输方式。当采集的图像数据量大且要求传输速度高时,可以采用FIFO方式中的PCI总线接口启动DMA方式,使用DMA传输;有一些应用场合,要传送的数据个数不明确,例如图像压缩后的数据量是不一定的,可以使用外加总线接口启动DMA的传输方式传送压缩图像,而用信箱方式传送命令和图像状态信息。在这种方式下,S5933的外加总线操作寄存器全部映射在TMS320C32 DSP的选通控制信号IOSTRB#控制的空间中,使DSP对PCI接口传输的数据的控制十分简单,就象操作自身的外围接口一样。S5933与DSP之间的硬件接口的具体连接方式如图5所示。

S5933和DSP之间的硬件连接,就是利用DSP的读写信号R/W#、地址选通控制信号IOSTRB#、外部设备就绪信号RDY#和部分地址信号以及S5933的FIFO状态信号WRFULL进行简单的时序和逻辑组合,生成对S5933的外加总线接口的读写控制信号:WR#、RD#、SELECT#、ADR[6:2]、BE[3:0]、WRFIFO#。S5933的数据总线与DSP的数据总线相连接,数据线宽度为32位,以便提供尽可能高的传输速率。

本文采用PCI接口芯片S5933、DSP芯片TMS320C32和视频输入处理芯片SAA7113设计实现的视频图像处理实验平台系统可以实现图像的高速连续采集,进行图像压缩、图像处理等算法的验证,达到了系统设计的目标。本系统具有使用灵活、升级方便等特点。考虑到DSP芯片的内部RAM有限,程序不能在片内运行,在进行一些复杂的图像处理运算时,速度会受到限制,故本系统仅适用于静态图像的处理算法研究。

硬件设计论文:基于双处理器的点焊控制系统的硬件设计

摘要:针对点焊的控制特点,设计了一种基于双处理器的点焊控制系统。在该系统中,DSP模块负责智能控制程序运算,MCU模块负责进行人机对话,而信号的输入输出则由独立的AD&IO模块负责。模拟试验表明,该硬件系统满足工作要求。 关键词:点焊控制 双处理器 硬件设计

点焊是将焊件装配成搭接接头,并压紧在两电极之间,利用电流通过焊件时产生的电阻热熔化母材金属,冷却后形成焊点的一种电阻焊方法。其通电加热时间一般为几至几十周波(一周波为0.02s),而电流有效值一般为几至几十KA。

点焊是一个高度非线性、存在多变量耦合作用和大量随机不确定因素的过程,其形核处于封闭状态,时间极短,特征信号提取困难,控制难度较大。

1 设计思想和总体方案

近年来,智能控制技术正被积极地引入点焊控制研究领域,但由于其算法高度复杂、计算密集,因此对系统的实时性要求越来越高。另一方面,DSP(数字信号处理器)技术的蓬勃发展,使得其在工业控制领域的应用越来越广泛。因此在本设计中,使用DSP作核心处理器,充分发挥其运算速度快的优势,并尝试利用多种智能控制算法对点焊进行质量控制,以提高焊点的质量和性。

在实际工作中,点焊需要设置的参数较多,操作者不得不依赖于各种手册、说明书和/或专家编制的工艺文件来进行设备;而且在选定参数之后,往往还需要通过一系列的旋钮、按钮等开关进行设置,操作复杂,容易造成混乱。因此在本设计中,应用MCU(单片机)实现人机对话功能。通过键盘输入和液晶显示,既充分体现了数字化控制的优势,也有助于实现点焊专家系统。

由于点焊系统工作在大电流、强磁场的环境下,因此控制系统的抗干扰问题尤为重要,且DSP的工作频率高,所以将信号的输入、输出部分和DSP、MCU模块分开,设计独立的AD&IO模块。

系统的总体方案如图1所示。

2 DSP模块的设计

本系统选用了DSK-TMS320VC5402芯片作控制核心。DSP是TI公司提供的一套标准的DSP开发平台,其目的是令使用者能较能地开发和应用基于DSP的系统,为最终的目标系统提供软、硬件设计参考模板。有关DSK的具体说明请参阅有关的技术资料。

DSK提供了存储器接口和外围设备接口两列扩展接口。根据“灰箱法”的设计思想,不用理解DSK的内部原理,只需在对其整体有一个基本了解的基础上,选择可能要用到的信号即可。因此专门设计了一块转接板,作为外围电路与DSP之间通讯的桥梁。从DSP中引出了26个信号,如表1所示。

表1 转接板信号

信号名

作 用

电源与地信号+5V由DSK取出,使整个系统同时上电GND从DSK发出,保持系统的地信号相同用于A/D电路的信号ADEN用作TLV2544片选和使能信号X_FSX0发送同步帧,使A/D转换开始X_DX0发送MCBSP对TLV2544的控制指令X_FSR0接收X_FSX0信号,使DSK和TLV2544保持同步X_CLKX0发送时钟频率信号给TLV2544X_CLKR0接收X_CLKX0时钟,使DSK和TLV2544保持时钟同步X_DR0接收TLV2544转换好的数字数据用于I/O电路的信号INPUT用作允许输入信号OCLOCK用作输出锁存信号OUTPUT用作允许输出信号X_D[07]接入数据总线,传输I/O数据用于MPU模块的控制信号

X_D[07]接入数据总线,传输DSP与MPU之间的通讯数据INT1MCU向DSP发出的通信请求信号X_IACKDSP向MCU发出的确认信号X_XFDSP向MCU发出的通讯请求信号X_BIO3MCU向DSP发出的确认信号3 AD&IO模块的设计

该模块包括A/D转换、输入、输出三部分电路,它们分别负责模拟信号的输入和转换以及开关信号的输入和控制信号的输出。

3.1 A/D转换电路

A/D转换器的选取主要考虑所采集的模拟信号的数量、精度及与DSP的速度匹配等,综合考虑后,选用TI公司生产的12位4通道高速AD-TLV2544。

本设计中A/D转换电路分为三部分:及时部分由5.1V的稳压二极管又滤波电容103组成,构成模拟输入部分;第二部分由TLV2544组成,完成A/D转换;第三部分由八相缓冲器74LS244组成,完成DSP与TLV2544之间的通讯,如图2所示。

A/D转换电路的工作是由DSP的多通道缓冲串口MCBSP来控制的。MCBSP通过其数据输出口DX0发送控制字到TLV2544的SDI口,该控制字为16位,前4位是指令位。如果TLV2544接收到的前四位是0XA,那么接下来的12位就会被当作控制字译码;相反,如果前4位接收到的是0XE,那么ADC将继续输出FIFO的内容到SDO中。其中,SDI和SDO分别是TLV2544的控制信号输入口和已转换好的数字信号输出口。当TLV2544按DSP发出的控制字转换到一定时候(如FIFO堆栈满)时,则发出INT信号通知DSP接收。DSP接收到INT信号后,经X_DR0口读入TLV2544已转换好的串行数据。

3.2 输入和输出电路

为了抵抗电气干扰和高压电击,在本设计中,输入和输出电路均采用光隔PC817传递逻辑信号,实现电气隔离。另外还使用反相器74HC14对传输信号进行整形,利用施密特特性消除毛刺干扰,提高信号传输的抗干扰能力。输入和输出电路与DSP的接口如图3所示。

在输入电路中使用了缓冲器74LS244,以增强线驱动能力,如图3所示。假设第二路输入为低电平,则光隔不导通,A2也为低电平。DSP要读取它的时候,先给输入一个低电平,然后用02H(即00000010)去线与,判断Y2的值是否为1,如果不为1则不读入,反之读入。其它输入也是这样来处理。

因为输出的开关量需要保持开或关的状态,所以在输出电路中使用了锁存器74LS373,进行缓冲和锁存,如图3所示。当输出由低电平变为高电平时候,DSP将数据由X_D[0~7]送到锁存器的输入端,然后再给OCLOCK一个低电平脉冲,数据即被锁存在锁存器

的输出端。假如Q0=1,则经反相器后变为低电平,光隔导通;反之,光隔不导通,从而实现了开关量的数据输出。4 MCU模块的设计

4.1 MCU扩展系统

在本设计中,MCU选用89C51,并扩展了片外ROM27512(64KB)和片外RAM6264(8KB),如图4所示。MCU用作液晶显示的数据线;P2口用作高位地址线,其高3位P25、P26、P27同时还作译码器74LS138的输入,该译码器的输出为片外RAM的寻址访问信号。片外锁存器和RAM 6264是统一编址的,即每一片锁存器都有自己的地址。

4.2 人机接口

在本设计中,键盘包括“0~9”、“.”、“确认”、“上翻”、“下翻”、“取消”、“暂停”等共16个键位,故采用4×4的矩阵式方案。矩阵式键盘由行线和列线组成,按键设置在行、列线的交点上。行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。无按键动作时,行线处于高电平;而当有键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平如果为低,则行线电平为低;列坚电平为高,则行线电平为高。从而可以识别出按键是否按下。

键盘电路主要由单片机的P0口、八相反相缓冲器74LS240、锁存器74LS273以及一些上拉电阻组成。P0口用作数据线,八相反相缓冲器74LS240缓冲行线的信号,锁存器74LS273锁存从P0口送给列线的信号。对八相反相缓冲器74LS240所缓冲的行线的值的读取是通过译码器74LS138输出的译码信号G5来控制的,其读地址为BFFFH;而对锁存器74LS273的控制则是通过译码器输出的G6来控制的,对列的写地址为DFFFH。

在本设计中选用的液晶显示器是信利公司的MG12232-5。该液晶显示器带背光及温度补偿功能,左右有主、从两个控制器SED1520,上下分4页。汉字显示采用12×12点阵,数字、符号显示采用12×6点阵。每个汉字占24字节,数字、符号占12字节,均烧入程序存储器。

液晶显示电路的工作原理为:由MCU通过P1口向液晶显示器的数据线DB口输出显示数据和控制指令,通过P3口向液晶显示器输出对E1、E2、A0、RST端口的控制字。液晶显示器的E1、E2、A0、RST口信号分别为主控制器读写使能信号、从控制器使能信号、显示或指令选择信号以及复位信号。

使用液晶显示器首先需要进行初始化,其工作在规定的方式中。液晶初始化包括:复位、休闲状态设置、设置占空比、排序设置、设置显示起始行、开显示、自动显示的方向设置等。这些命令在操作中都是作为指令写入控制器的。然后再将要显示的汉字或字符数据送给液晶显示器,液晶显示器即可按控制字的要求进行显示。

4.3 MCU与DSP的通讯

该通讯电路由三片缓冲器74LS244(U6001、U6002及U6008、MCU的P0口以及DSP的X_D[0~7]口组成,如图5、图6所示。各缓冲器的控制信号由译码器138的输出G1、G2、G3、G4组成。其中,U6001负责将MCU的数据送到DSP,U6002负责把DSP的数据送到MCU,而U6008则负责发送MCU与DSP之间的通讯请求和确认信号。

DSP向MCU发送数据的过程为:DSP将数据通过X_D[0~7]口输出至缓冲器U6002,同时由X_XF发送通讯请求信号至MPU的P00口,MCU检测到该信号后,读取缓冲器U6002的数据,然后通过P02口发给DSP一个确认信号。

MCU向DSP发送数据的过程与上相似。

模拟试验表明,本文介绍的硬件系统可以满足工作要求,为下一步的研究提供了良好的平台。作者试运行了电流有效值的神经网络求解和可控硅模糊控制等自编程序,均获得了良好的预期效果。

硬件设计论文:网络变互式数字电视机顶盒硬件平台的设计

从现有交互式数字电视机顶盒的发展以及局限性出发,介绍了ST Microelectronics公司新近推出的适合于交互式数字电视应用的ST40GX1和STi5514芯片的功能特点以及接口。提出了二者相结合构成双CPU的高性能网络交互式数字电视机顶盒的方案,并给出了包括前端在内的系统的具体构成。

关键词:数字电视 机顶盒 DVB 图形加速器 网络接口 Cable Modem

从硬件发展上来看,交互式机顶盒、数字电视已从早期的由分立器件构成而发展到由现代单芯片解决。这是数字大规模集成电路制造工艺技术进步的结果,也是较大程度降低系统成本的必然要求。现代单芯片解决方案的机顶盒一般集成了CPU、解复用、音频视频解、二维图形处理、编码和外设端口等模块。为节省芯片面积,这些独立部分是通过总线方式连接在一起的。改进系统的性能,通常是从提高CPU的速度、增强二维乃至三维图形的处理能力、增加外设端口的接口数目和类型等方面着手,从而从总体上提高系统的交互处理能力。但由于视频解复用器和音频视码器对存取数据总线实的性要求严格,增加了CPU处理等待时间,形成了所谓的总线瓶颈。有关测试表明,总线瓶颈使得CPU的执行指令时间达到了76%,这种单纯依靠提高CPU性能来克服处理能力的不足,并不能提高性价比。改善总线瓶颈可以通过改进或增加系统互连总线来完成。如松下公司的Gross Switch解决方法,使等待时间减小到50%。但这些必将增加芯片制造中互连线的复杂度,从而增加成本。

除了总线瓶颈带来的问题是,随着用户对接入方式多样性以及图形图像处理要求的日益提高,通过电话线回传的交互式机顶盒、数字电视的窄带接入方式以及有限的计算能力也越来越不能满足人们的要求。随着有线HFC网的双向改造以及它与电信网、互联网三网合一进程的加速,为用户添加Cable Modem(CM)、Ethernet等灵活可选的宽带接入方式以及增加高级2D乃至3D高级图形处理,便成为机顶盒应用的一个重要方面。

1 基于ST40GX1与STi5514的双CPU解决方案

为解决上面提出的总是,选择了ST Microelectronics公司最近推出的基于STi5514单芯片解码器和ST40GX1二维图形处理器的双处理器解决方案。该方案避免了外设模块倍增带来的总线拥挤以及解码实时性要求带来的等待延迟。STi5514和ST40GX1内部都采用了高速的先进STBus实现互联,前者负责实时性要求较高的硬件解复用、视频音频解码、与解码相关联的外围I/O设备控制等。后者负责宽带交互式应用以及高级图形处理。两者之间的高速数据通信通过MPX(Memory Peripheral Exchange)总线以及存储映射的邮箱(Mailbox)来进行。通过主频达100MHz的MPX总线,STi5514能直接存取ST40GXI上可高达256MB的DDR SDRAM存储资源。

1.1 STi5514功能特点及接口

STi5514主要完成MPEG-2视频、音频信号的解压缩。其内部集成了一个MP@ML标准清晰度的视频解码模块和一个杜比AC-3/AAC/DTS音频解码模块以及Video Encoder和Audio DAC模块等。内部32位RISC CPU工作主频为120MHz,在外接V.90的硬件Modem条件下,可以通过电话线进行窄带交互式应用,如进行基于电话线回传的视频点播、低速Internet浏览等。

与ST公司早先推出的单芯片解码器STi5512相比,除一般功能接口相同外,其突出特点是:指令和数据缓冲都增加了一倍,同时并发处理三路TS(Transport Stream)流输入,支持多种解扰模式(包括DVB、DES、ICM、Fast-I),直接支持杜比AC-3/AAC/DTS音频解码,提供ATAPI硬盘电路接口,并直接支持Ultra-DMA66高速数据传送模式的硬盘以实现数字电视节目的实时录制,视频解码流可以以ITU-R601_656格式数据流输出或者以复合视频信号(CVBS)、分量信号RGB和YUV等不同模拟模式输出,支持Teletext解码输出,同时提供对两路SIM卡接口,利用扩展银行卡等高级应用。由于STi5514去掉了1394接口,故需外接1394控制器(如STE422等)来扩展基于1394的视频输入。

1.2 ST40GX1功能特点和结构

ST40GX1集成了SH-4 32位RISC处理器内核,Gamma 2D图像处理、混合模块以及其它视频电路接口逻辑。

ST40GX1是交经式应用的处理核心,包括系统设备和外设两个方面。

1.2.1 系统设备

ST40GX1系统设备包括中央处理器(CPU)、用于DSP功能的浮点运行单元/加乘处理单元(FPU/Mac)、存储管理单元(MMU)以及DMA控制模块。

其中,CPU为32位SuperH RISC,2通道超标量体系结构,主频166MHz,16位指令定长,Load-Store结构,8KB直接指令缓存,16KB直接操作数缓存,带有一个片上乘法器。

存储器支持4G的存储空间,支持单块或多块虚拟内存模式。页面大小可以为1KB!、4KB、64KB或1MB。支持4通道全相关指令ITLB(Instruction Translation Lookaside Buffer)、64通道全相关指令以及操作数UTLB。支持软件控制的更新算法及随机计数的更新算法。这为32位保护模式下的操作系统提供了完备的硬件平台。

通用DMA控制器支持5个通道的数据传输,其中4个通道可以用于存储器到存储器哉存储器到外设之间的数据传送,另外一个通道为带缓冲的多路复合通道。支持2D块的搬动以及链表操作。两个通道的DMA握手信号和EMI接口信号被用于MPX总线操作。

图1 基于STi5514和ST40GX1的系统结构图

1.2.2 外设接口模块

外设接口模块包括通用接口模块和视频专用接口模块。

通用接口模块包括两个的ST40系列处理器兼容的全双工异步串行通信端口、中断控制器、符合IEEE1149规范的调试控制器、实时时钟、4个用户可编程的PLL、24位输入输出方向可配置的并行I/O口,两个符合v1.1规范的USB主控制器和收发器、Modem模拟前端接口MA

FE、两上可配置为支持I2C或SPI总线接口标准的同步串行控制器(SSC0,SSC1)、Teletext输入接口、两个使用异步协议的SmartCard接口、用于和外部微处理器通信的存储映射邮箱(Mailbox),符合PCI2.1规范的PCI接口控制器、两路音频PCm输入接口和一路PCM输出接口等。 视频专用接口以及处理模块包括字视频输入端口和2D图像处理器。

两个CCIR601-656视频输入端口(DVP0,DVP1)可以同时输入YCbCr 4:2:2格式的视频数据,并将其装入局部存储器。对没有内嵌同步信号的视频还根据SAV/EAV协议提供了外同步信号支持,用户可以从输入的视频图像中设定视频捕获窗口以及活动窗口的子窗口。数字编码器(DENC)将数字视频流转换为标准的模拟基带PAL/SECAM/NTSC信号以及RGB和YUV模拟分量信号。如果在LMI上使用32位的DRAM,则可以获得RGB24位的数字视频流。

2D图像处理器(或图像块传送引擎)拥有两个2D DMA图像数据输入源,可完成一整套强大处理操作。除了完成普通2D图形加速功能外,还可完成不同图形格式(RGB/YUV等)之间的转换,其中包括块填充、块拷贝、异步复合、色彩变换以及2D缩放处理等功能。

2 基于STi5514和ST40GX1的系统构成

根据STi5514和ST40GX1的功能特点提出的系统总体结构方案如图1所示。

2.1 前端解码部分

由于STi5514内置三路TS流解扰通道,故采用双路的Turner+STV0297QAM解码器同时解调两个频道的基件解扰、控制处理以及解码能力,可以实现画中画功能。其中Turner可以采用MicroTune的MT2040单芯片调谐器以节省空间和成本。此外,通过外接STE422,对IEEE1394接口输入提供支持。

2.2 后端解码部分

后端解码由STi5514完成。STi5514通过外接8MB共享的SDRAM完成在信道解调、解复用以及解码过程中所需要的存储资源,STi5514通过MPX总线共享位于ST40GX1 EMI接口上的16MB FLASH。通过ATA接口外接硬盘存储器以扩展VCR应用。STi5514解码后的符合ITU-R601_656标准的视频数据通过视频输出端口直接输入到ST40GX1的两路视频输入端口中的DVP0。STi5514向ST40GX1发送27MHz的像素时钟以及同步信号,以确保STi5514视频数据正确接收。

2.3 图形处理及便于交互式应用的网络接口

交互式应用硬件实现部分由ST40GX1以及相应的网络接口完成。

2.3.1 ST40GX1二维图形处理

ST40GX1接收来自STi5514输入的解码视频流,并经过插值、色彩空间坐标变换后,与网页浏览等其它视频流进行透明度处理(Alpha blending)、饱和度处理(Gamma Processing)等复合处理,形成统一的视频帧缓存数据,并通过内部的DENC将其编码为模拟电视能接收处理的复合视频信号CVBS、SVideo或分量信号RGB、YUV等输出。

由于ST40GX1只支持3.3V的PCI接口,可通过Intel的SB21150BC扩展3.3V或5V的PCI插槽;在需要3D图像处理的情况下,可以外插PCI 3D图形加速卡来实现。

2.3.2 网络接口

考虑到网络接口的宽带接入方式需求,利用ST40GX1对外部提供的PCI总线接口,集成Cable Modem、Ethernet等高速接口。

2.3.2.1Cable Modem

选择符合Docsis1.1/Euro-docsis1.1规范的Cable Modem前端单芯片接口芯片STV0396作为Cable Modem解决方案,这一部分既可以作为一个独立的PCI卡来设计,也可以将其直接嵌入母板上。STV0396是一个高度集成的调制解调系统,包括支持上行和下行符合DOCSIS1.1规范的物理层规范接口,媒体接入控制(MAC)以及功能强大的32位ST20 RISC处理器、PCI、EMI/MPX等与ST40GX1相兼容的外部接口。STV0396采用316管脚的BGA封装,除需外接双向调谐器外,还需要添加下行方向的声表面波滤波器(SAW)、上行方向的线路放大器以及的时钟等,才能实现与线缆头端设备(CMTS)之间的通信连接。其典型接口电路如图2所示。

2.3.2.2 以太网接口

选择基于RTL8139C的3.3V以太网芯片组作为接口芯片,主要考虑到该芯片具有高度集成、在嵌入式系统中使用广泛以及10/100M自适应特性、自带PCI接口、在类Linux操作系统下驱动程序容量找到等优点。RTL8139采用128管脚的QPF/LQPF封装,并通过PCI总线接口与ST40GX1相连接。

2.3.2.3 V.90软件Modem的支持

对V.90软件Modem的支持,直接利用ST40GX1的Modem前端接口MAFE来完成。不使用硬件Modem是考虑到充分利用ST40GX1的运算处理能力以降低成本。

2.4 启动及通讯

ST40GX1与STi5514通过配置各自MPX总线接口的主/从(Initiator/target)方式来决定系统的启动顺序。在这里,由于系统启动代码位于ST40GX1的局部FLASH中,故将ST40GX1配置为主(Initiator),将STi5514配置为从(target)。具体的启动顺序为:ST40GX1首先控制MPX总线并且先启动,在启动期间阻止STi5514使用MPX总线,直到其完成从Flash里面读取启动代码和初始化为止。接着ST40GX1利用MPX总线拷贝STi5514的启动程序以及应用程序代码到自己的LMI DDR内存中。拷贝完成后,ST40GX1释放并允许STi5514控制MPX总线,STi5514从ST40GX1的DDR SDRAM中拷贝自己的启动程序及应用程序代码。借鉴这一点,通过MPX总线可以实现多CPU之间的存储共享。

STi5514通过MPX总线可以访问ST40GX1上的Mailbox寄存器。Mailbox被固定映射于ST40GX1存储空间的基地址0x1B150000处,该寄存器对两个CPU都能产生中断信号。通过Mailbox寄存器,ST40GX1与STi5514能实现进程同步、信息传递等进程间通信。

本文较为详细地介绍了基于ST40GX1和STi5514的高性能网络交互式数字电视机顶盒的系统构成及实现。虽然低端的基本付费/免费数字电视机顶盒会在很长时间内成为消费者的选择,但随着用户对功能需求的增加以及有线运营商服务内容的丰富,为用户提供此类高端应用的数字电视机顶盒也会得到日益广泛的应用。

硬件设计论文:基于PCI总线加密卡硬件设计

摘要:介绍基于PCI总线加密卡的硬件组成部分。该加密卡汲取了现代先进的加密思想,实现了高强度加密功能。 关键词:加密卡 PCI总线 PCI9052 ISP 单片机

加密是对软件进行保护的一种有效手段。从加密技术的发展历程及发展趋势来看,加密可大体划分为软加密和硬加密两种。硬加密的典型产品是使用并口的软件狗,它的缺点是端口地址固定,容易被逻辑分析仪或仿真软件跟踪,并且还占用了有限的并口资源。笔者设计的基于PCI总线的加密卡具有以下几个优点:及时,PCI总线是当今计算机使用的主流标准总线,具有丰富的硬件资源,因此不易受资源环境限制;第二,PCI设备配置空间采用自动配置方式,反跟踪能力强;第三,在PCI扩展卡上易于实现先进的加密算法。

1 总体设计方案

基于PCI总线的加密卡插在计算机的PCI总线插槽上(5V 32Bit连接器),主处理器通过与加密卡通信,获取密钥及其它数据。加密卡的工作过程和工作原理是:系统动态分配给加密卡4字节I/O空间,被加密软件通过驱动程序访问该I/O空间;加密卡收到访问命令后,通过PCI专用接口芯片,把PCI总线访问时序转化为本地总线访问时序;本地总线信号经过转换处理后,与单片机相连,按约定的通信协议与单片机通信。上述过程实现了主处理器对加密卡的访问操作。

图1 硬件总体设计方案

下面以主处理器对加密卡进行写操作为例,阐述具体的实现方法。加密卡采用PLX公司的PCI9052作为PCI总线周期与本地总线周期进行转换的接口芯片。PCI9052作为PCI总线从设备,又充当了本地总线主设备,对其配置可通过EEPROM 93LC46B实现。主处理器对加密卡进行写操作,PCI9052把PCI总线时序转化为8位本地数据总线写操作。这8位本地数据总线通过Lattice公司的ispLSI2064与单片机AT89C51的P0口相连,2064完成PCI9052本地总线与AT89C51之间的数据传输、握手信号转换控制等功能。2064对8位本地数据总线写操作进行处理,产生中断信号。该中断信号与AT89C51的INT0#相连,使AT89C51产生中断。AT89C51产生中断后,检测与其P2口相连的本地读写信号WR#、RD#、LW/R#。当WR#为低电平、LW/R#为高电平时,AT89C51判断目前的操作是否为写操作。确认是写操作后,AT89C51把P0口上的8位数据取下来,然后用RDY51#(经2064转换后)通知PCI9052的LRDYi#,表明自己已经把当前的8位数据取走,可以继续下面的工作。PCI9052收到LRDYi#有效后,结束当前的8位数据写操作。PCI总线的一次32位数据写操作,PCI9052本地总线需要四次8位数据写操作,通过字节使能LBE1#、LBE0#区分当前的8位数据是第几个字节有效。

加密卡硬件总体设计方案如图1所示。

2 硬件各组成部分说明

2.1 PCI9052部分

PCI9052是PCI总线专用接口芯片,采用CMOS工艺,160引脚PQFP封装,符合PCI总线标准2.1版。其总线接口信号与PCI总线信号位置对应,因此可直接相连,易于PCB实现。PCI9052的较大数据传输速率可达132MB/s;本地时钟较高可至40MHz,且无需与PCI时钟同步;可通过两个本地中断输入或软件设置产生PCI中断。它支持三种本地总线工作模式,实际设计采用地址和数据线非复用、8位本地数据总线、非ISA模式。

PCI9052内部有一个64字节PCI配置空间,一个84字节本地配置寄存器组。对PCI9052的配置可由主机或符合3线协议的串行EEPROM完成(注:ISA模式必须由串行EEPROM完成配置)。实际设计采用Microchip公司的93LC46B存放配置信息。系统初始化时,自动将配置信息装入PCI9052,约需780μs。如果EEPROM不存在或检测到空设备,则PCI9052设置为默认值。

在设计中,EEPROM用到的配置项目有:设备ID:9050;厂商ID:10B5;分类代码:0780;子系统ID:9050;子系统厂商ID:10B5;支持INTA#中断,PCI 3C:0100;分配4字节本地I/O空间:(例LAS0RR)0FFFFFFD;其它本地地址空间未使用:00000000;4字节本地I/O空间基地址(模4对齐):(LAS0BA)01200001(仅为示例);4字节本地I/O空间描述符:(LAS0BRD)00000022(非猝发、LRDYi#输入使能、BTERM#输入不使能、不预取、各内部等待状态数均为0、8位本地数据总线宽度、小Endian模式);中断控制/状态,Local 4C:00000143(LINTi1使能、LINTi1边沿触发中断选择使能、LINTi2不使能、PCI中断使能、非软件中断、ISA接口模式不使能);User I/O、从设备应答、串行EEPROM、初始化控制,Local 50:00024492。有两点要注意:一是设计中采用PLX公司推荐使用的串行EEPROM 93LC46B按字(16 bit)为单位组织;二是EEPROM开发器编辑输入与手工书写的顺序对应关系,以厂商ID:10B5为例,在开发器编辑输入的是b510,而不是10B5。

PCI9052本地信号的含义是:LAD[7..0]:本地8位数据总线;WR#:写有效;RD#:读有效;LW/R#:数据传输方向,高电平为写操作,低电平为读操作;LBE1#和LBE0#:字节使能,表明当前LAD[7..0]上的数据是第几个字节(0到3);BLAST#:PCI9052写数据准备好或读数据已取走;LRDYi#:外部设备(此设计指单片机)已把PCI9052写操作数据取走或读操作数据准备好;LINTi1:外部设备通过LINTi1向主机发送INTA#中断,当单片机验证密钥正确,向主处理器发送请求,表明可以开始从中读取相关数据。

需注意的是,PCI9052在使用时,某些引脚要加阻值为1kΩ~10kΩ的下拉或上拉电阻。因此在实现时,给MODE、LHOLD、LINTi1引脚加下拉电阻,CHRDY、EEDO、LRDYi#引脚加上拉电阻。

图2 PCI9052本地写时序

以主处理器向单片机写数据为例,图2给出了PCI9052的本地写时序。

2.2 ispLSI2064部分

为降低数据被解析的风险,应尽量减少使用分离元件。因此在设计中选用了Lattice公司的CPLD ispLSI2064。该芯片采用EECMOS技术,100引脚TQFP封装,拥有2000个PLD门,64个I/O引脚另加4个专用输入,64个寄存器,3个全局时钟,TTL兼容的输入输出信号。2064具有在系统可编程ISP(In-System Programmable)功能,可方便实现硬件重构,易于升级,降低了设计风险,并且安全性能高。PCI9052与单片机之间的8位数据线进行双向数据传输,不能简单地直接相连,需要进行传输方向控制和数据隔离

。故用2064作为PCI9052本地信号与单片机信号进行信号传递的接口,图3给出了8位数据信号双向传输的原理图。2064的开发软件ispDesignExpert 8.2版支持VHDL、Verilog HDL、Abel等语言及原理图输入,且通过专用下载电缆可把最终生成的JEDEC文件写入2064,实现编程。在设计时采用了原理图输入的方法。原理图中用到的BI18的功能描述为:当OE=1时,XB为输出,A为输入,即XB=A;当OE=0时,XB为输入,Z为输出,即Z=XB。FD28的功能描述为:8位D触发器(带异步清除)。结合PCI9052本地读写时序,可以分析得出,在进行读写操作时,图3实现了LAD[7..0]与D[7..0]之间正常的数据传输;在非读写时,双方数据处于正常隔离状态。

2.3 单片机AT89C51部分

单片机采用ATMEL公司的AT89C51。这是一个8位微处理器,采用CMOS工艺,40引脚DIP封装。它含有4K字节Flash和128字节RAM,且自身具有加密保护功能。单片机不进行外部存储器和RAM的扩展,程序存储和运行均在片内完成,有效地保障了加密强度。

图3 LAD[7..0]与D[7..0]之间的数据传输

单片机的P0口接图3的D[7..0],并加10kΩ的上拉排阻。WR#、RD#、W/R#、BE1#、BE0#作为单片机输入信号接P2口。PCI9052写数据准备好或读数据已取走信号REQ9052#作为单片机输入信号接P3.2(INT0#);写数据单片机已取走或读数据单片机准备好信号RDY51#作为单片机输出信号接P1.0;接P1.1的OVER51#作为单片机输出信号,经2064接PCI9052的LINTi1,通过LINTi1向主机发送INTA#中断请求。

基于PCI总线的加密卡,依照PCI总线标准2.1版,通过动态分配4字节I/O空间,实现主处理器与卡上单片机之间的握手通信。被加密软件通过访问加密卡,获取软件正常执行的相关权限。在加密卡不存在的情况下,被加密软件因得不到相关授权而无法运行,从而实现了加密功能。在单片机的存储器里,除了存放密钥之外,设计者还可以把被加密软件的部分程序、算法或常数写入单片机的存储器,在加密卡不存在的情况下,被加密软件的功能是不完整的,从根本上防止了软件破解。

硬件设计论文:VoIP语音卡在路由器中的应用及硬件设计

摘要:介绍了VoIP语音卡在路由器中的应用,详细描述了一款应用于路由器的语音卡的硬件结构及其工作方式。 关键词:VoIP PCI FXS 路由器 语音压缩

1 VoIP在路由器中的应用

近年来,VoIP(Voice over Internet Protocol)给通信市场带来了强大的冲击。IP语音业务推出后,由于其在通话费用上比传统电话具有突出的优势,因而受到了广泛欢迎。VoIP技术在路由器中应用,可以大大节省有多个部门在不同地方办公的企业或机构的电话费用。图1为一个VoIP路由器在公安分局与派出所间应用的方案。

派出所网点的路由器DCR-2501V和DCR-2509V使用FR(帧中继)或DDN线路同分局的DCR-3660实现互连,各网点的计算机可通过路由器连接分局的局域网或Internet,实现数据通信;同时,DCR-2501V或DCR-2509V通过FXS语音端口连接普通电话机,分局路由器通过E&M接口和PBX连接,这样既可以实现内部各部门间的数据通信,同时还可进行零费用的语音通话。

VoIP在费用上呈现巨大优势的原因在于其利用了计算机通讯的分组化、数字化传输技术,先对语音数据按照一定的语音压缩标准进行压缩编码处理,然后把这些数据按IP相关协议打包,再将数据包通过IP网络传输到接收端,接收端将这些以不同顺序到达的数据包按其本身顺序串起来,并经过解码解压恢复出原来的语音信号。与传统的语音业务相比,VoIP在时间延迟、话音质量等方面存在缺陷。可以采用一些先进的协议如资源预留协议(RSVP)和不同类型服务(Diffserv)等方案来尽可能的优化语音数据包的传输,以减少传输延迟和拥塞。

目前,VoIP的标准主要有国际电信联盟技术部(ITU-T)建议的H.323系统和IETF建议的会话发起协议(Session Initiation Protocol,SIP)系统两种。前者主要在电信网络上实现多媒体业务制订,技术已趋成熟。后者基于动态的Internet模式建网,是基于软交换技术的面向网络会议和电话的简单信令协议。在我国,主要选用H.323技术标准来实现VoIP,在H.323系列标准中,音频压缩编码标准有G.711、G.722、G.723和G729等。

本文将介绍一种已经应用于路由器产品中的VoIP语音卡的硬件设计和工作原理。

2 VoIP语音卡硬件结构

该语音卡基于AudioCodes公司的VoPP(Voice Over Packet Processor,即语音包处理器)AC48302设计,采用PCI接口界面,可提供两个FXS(Foreign Exchange Station)语音/传真接口,可以方便灵活地应用于本公司开发的系列路由器中,实现VoIP功能。其硬件结构框图如图2所示,以下介绍各部分硬件的原理和作用。

2.1 PCI接口

路由器主板与语音卡之间通过PCI总线连接,便于通用。采用了PCI接口芯片PLX9030实现语音卡本地总线(HPI)与PCI总线之间的转换。由于语音卡上数据流量不大,不需要利用如DMA方式主动向路由器主板上的Memory空间传递数据。因此,语音卡工作于PCI的从模式方式,AC48302通过中断方式接收或发送语音数据,PCI总线的数据宽度和速度为32位/33MHz。

2.2 CPLD部分

AC48302采用8位并行的主处理器接口HPI与外部CPU(即路由器CPU)进行数据交换。在本设计中,HPI接口与PLX9030的本地总线接口时序稍有差别,经过CPLD进行调整。另外,路由器CPU还可通过CPLD控制CODEC和SLIC芯片。

2.3 AC48302芯片

AC48302是AudioCodes公司推出的一款低功耗、低价格的双通道语音包处理器,其内部集成了一个DSP内核。该芯片的主要特性如下:

·支持两个通道的语音压缩编码,语音压缩标准包括G.729A、G.723.1、G.727、G.726、G.711。

·兼容T.38或FRF.11传真中继(2.4~14.4kbps)。

·呼叫ID产生和检测,呼叫进程和用户定义语音的检测和产生。

·兼容G.168的25ms回声消除。

·高性能的有效语音检测(VAD)和舒适噪声产生(CNG)。

·DTMF检测和产生。

·A律/μ律可选的Codec接口,具有输入输出增益控制。

·PCM Highway接口。

·并行的主处理器接口(HPI)。

AC48302各部分硬件接口如图3所示。

图4 AC48302 HPI存储器的映射关系

2.3.1 语音接口(Voice Interface)

语音接口提供未压缩的语音、传真数据的输入输出通道。语音接口对外提供四根信号线构成PCM总线,直接连接外部CODEC芯片的PCM Highway。这四根信号线为PCMIN、PCMOUT、PCMCLK、PCMFS。PCMIN输入从CODEC送来的PCM信号,AC48302内部的DSP按照相应标准(如G.729)压缩后从HPI给路由器CPU转发。PCMOUT则相反,AC48302将路由器CPU送来的语音数据按照合适的标准解压缩,然后从PCMOUT口送到外部CODEC,CODEC经过数/模转换后恢复成语音信号?熏通过用户接口送给用户端。PCMCLK提供2.048MHz的比特同步时钟,而PCMFS提供8kHz的帧同步时钟。

2.3.2 HPI接口

在本设计中,路由器CPU与AC48302通过HPI口进行通信。路由器CPU和DSP通过AC48302的片内共享的双口存储器实现数据交互。片内共享存储器的映射关系见图4。

HPI接口包括1根8位数据总线和几根控制总线。路由器CPU通过三个寄存器(HPIC、HPIA和HPID)控制AC48302及访问片内存储空间。HPIC为控制寄存器,用来选择AC48302的高低字节顺序、产生和接收中断。HPIA为地址寄存器,用来寻址片内的2K存储空间。HPID为数据寄存器,用来缓存每次读写的两个字

节数据,外部CPU可以单个Word或块数据方式访问HPID,当以块数据方式访问时,HPIA寄存器自动累加,这样可以减少外部CPU写HPIA寄存器的开销。AC48302的内部寄存器和存储器为16位宽度,因此外部CPU每次访问AC48302必须以两个字节为基本单位,信号线HI/LO用来选择高低字节,信号HRS1、HRS0指示当前访问的是哪个寄存器。除了以上两个重要的接口外,AC48302内部还包含一个PCM时钟发生器、一个用于测试的JTAG接口以及一个用于访问外部SRAM及处理信道辅助信令的Memory&I/O接口。

2.4 CODEC接口芯片

CODEC芯片负责对DSP解压缩后送来的PCM数据进行解码,并将滤波后的模拟语音信号送到用户线接口芯片SLIC,SLIC对其进行2-4线转换后送给用户端;同时,CODEC还负责将SLIC送来的模拟语音信号进行PCM编码,然后送到DSP芯片进行压缩处理。

本设计中,CODEC芯片采用IDT公司的4通道PCM编解码芯片IDT821034。该芯片具有可编程增益设置、主时钟可选(2.048MHz、4.096MHz和8.192MHz)、较大可支持128个可编程时隙、A律/μ律可选、内置数字滤波器、串行控制接口、低功耗等特点。本设计中选用主时钟为2.048MHz(E1帧模式),可划分为32个相等的时隙(Slot0~Slot31),4个通道的接收和发送时隙可通过向串行控制口写入控制字进行动态选择。各时隙的位置都以8kHz的帧同步时钟信号为参考,在IDT821034中,时隙0相对帧同步脉冲的位置有延迟模式和非延迟模式(图6即为非延迟模式)。

PCM主时钟(BCLK)、帧同步时钟(FS)、接收数据(DR)和发送数据(DX)一起构成PCM Highway信号,与AC48302进行连接。BCLK与FS分别对应AC48302的PCMCLK和PCMFS,这两个时钟信号都由AC48302 产生;DR和DX分别对应AC48302的PCMOUT和PCMIN。PCM Highway信号时序以及时隙与帧同步信号的关系分别如图5、图6所示。为了CODEC与DSP芯片间正确收发数据,一般选择CODEC芯片在BCLK的上升沿发送数据DX,下降沿采样数据DR,而在另一端的AC48302,则在时钟下降沿采样PCMIN,上升沿发送PCMOUT。

2.5 用户线接口(SLIC)芯片

设计中为了使语音卡能够提供FXS接口功能,采用了爱立信公司的新型SLIC芯片PBL83710连接用户接口。在该芯片内部能够产生高电压铃流信号及提供自动电池馈电切换,具有环流振铃和地键检测功能及2-4线转换功能。该芯片将许多传统的振铃继电器、铃流发生器等器件集成在一个片内,节省了印制板空间和成本。

3 VoIP语音卡硬件驱动流程

硬件驱动程序主要完成以下功能:

(1)初始化PLX9030芯片,配置相关寄存器,选择本地总线工作方式。

(2)初始化AC48302芯片,启动AC48302内部的DSP内核到正常工作状态。AC48302的启动步骤按顺序分为以下几步:核代码(Kernel)下载;程序代码(Program)下载;初始化模式;启动运行。

(3)驱动语音卡的正常操作。接收处理摘挂机中断,将SLIC置于正确状态;配置CODEC芯片的各通道收发数据时隙以及CODEC芯片的增益控制;接收处理AC48302数据包处理中断,AC48302每处理完一个语音数据包就通过中断方式通知路由器CPU读取当前Buffer中的数据或向Buffer写入下一个数据包。

本文采用的是FXS接口,只要对CODEC后面部分电路稍加改动即可实现FXO或E&M接口功能。目前,该语音卡方案在路由器产品中已获广泛采用。

硬件设计论文:机载数字视频记录系统的软、硬件设计

摘要:通过嵌入式计算机PC104对MPEG A/V编码芯片SZ1510进行配置和控制,可以缩短研制高性能航空机载环境下数字式彩色视频记录仪的开发时间。文中详细介绍了该机载数字视频记录系统的软、硬件设计思想及注意事项。 关键词:SZ1510;视频记录;PC104;新型飞机

机载视频记录系统在飞行员的日常训练中发挥着十分重要的作用。该系统可以实时记录飞行器的飞行及训练过程中的各种信息,能够直观、真实的反映飞行员在空中的飞行和操作情况。通过地面回放设备的回放,飞行员可以地把握自身的不足并及时改进,从而提高训练水平。但由于视频信号数据量大,技术要求高,国产飞机大多没有信息监视和记录系统。为了提高我军战机的作战性能研制一种信息监视和记录系统迫在眉睫。

随着大规模集成电路的发展,采用数字图像压缩技术实现高压缩比、高质量的图像数字压缩记录系统已成为可能。数字化的记录方法可以将视频数据经过压缩记录在大容量的存储器上,并能有效消除噪声、增加记录时间、加快拷贝和复制速度,快速回放和查找,同时还可以快速地通过计算机网络进行传送。基于以上原因,笔者为某新型飞机研制了高性能的适于航空机载环境的数字式彩色视频记录系统。本记录系统的核心芯片选用以色列Zepax公司的SZ1510 MPEG-1编码芯片。

1 工作原理

图1所示是本记录系统的结构组成示意图。整个系统由三大部分组成,即压缩控制部分、存储部分和电源部分三大模块。其中压缩部分由一路MPEG-1音视频压缩电路和控制单元PC-104组成,主要功能是实现对输入音视频信号的数字压缩。存储部分由大容量硬盘组成,用于完成对压缩数据的长时间记录。电源部分负责对各模块电路提供电源。

在系统启动时,主控计算机首先对压缩卡进行初始化,当设置好MPEG-1压缩格式及数据速率后,压缩卡开始工作,并在主控计算机的控制下将压缩后的图像数据写入硬盘。在工作过程中,主控计算机还将不断监视相关信号,并在图像中加入相应的标志,直到接收到关机信号,系统自动结束压缩卡的工作,并关闭主机。

2 系统硬件设计

整个系统的核心是以色列Zepax公司的SZ1510 MPEG-1编码芯片,它由PC104控制,另外,该系统还包括PCI桥芯片PLX9030以及视频解码芯片SAA7113等。

2.1 SZ1510芯片简介

Zepax公司的SZ1510IC内部采用可编程的专业硬件体系结构,它可以高效使用存储器,并能合理进行资源分配。内核采用TI公司的TMS320C54X高性能DSP来完成MPEG1音频编码、解码以及CD格式的音/视频流的组合,同时进行一般的系统控制。

该芯片具有功能多、功耗小、温度范围宽等特点,其组成电路如图2所示。它主要由运动估计与补偿单元、DCT与反DCT变换单元、可变长编码单元、控制单元、SDRAM接口单元、通用总线接口单元组成。内部的压缩处理采用流水线结构,开机后只需简单的初始化即可独立工作,同时自动送出压缩好的数据。外部电路的时钟为27MHz,工作电压为3.3V。

系统中的视频压缩有三种比特率可供选择,其中恒定比特率需要填充冗余,较大比特率不需要填充冗余,而可变比特率的压缩质量比较恒定,但比特率可变。音频压缩部分支持3244.1及48kHz取样率以及音频PCM、实时MPEG12层音频编码等。

2.2 PC104计算机简介

考虑到控制单元的体积、性和控制能力,可选用嵌入式计算机PC104作为主控单元。根据视频压缩的特点,推荐选择安普公司的AmproP5E/266产品,该产品温度特性好、功能强大、性高、软硬件移植方便且易于调试。

3 软件设计

SZ1510共有128个寄存器,每个寄存器都有一个索引号。外界对这些寄存器的访问都是通过IOARI/O Adress Register和IODR(I/O Data Register)来完成的。访问时首先将这个寄存器的索引号写入IOAR然后将要写的数据写入IODR,这样,SZ1510即可自动把数据送到某个寄存器。

主机访问SZ1510是通过PLX9030进行的。对PLX9030中寄存器的访问通常是按内存方式进行的,其方法是常规段加偏移方式。不过,它的寄存器访问总线宽度有的是16bits(如0x4c),有的是32bits(如0x50),具体可参考有关文献(5)。

3.1 硬件初始化

对系统硬件的初始化主要是初始化PLX9030和SZ1510。PLX9030的初始化比较简单,一是使能中断,向寄存器0x4c中写入0x0041,二是对PLX9030的Local bus进行软复位,即先将寄存器0x50的第30位置1,再将其置0。

SZ1510的初始化过程如下:

(1)向中断使能寄存器写入0x40,以使能Ready中断;

(2)等待SZ1510的Ready中断;

(3)等到Ready中断后,向SZ1510的0x1E寄存器写入0x0A,设置它内部的DSP时钟为94.5MHz;

(4)向0x013寄存器写入0x55,对SZ1510进行软复位;

(5) 向中断使能寄存器0x0C写入0x40使能Ready中断;

(6) 等候RDY中断;

(7) 待Ready中断后对SAA7113进行初始化;

(8) 对SZ1510进行软复位,即向0x0B寄存器写入0x55,同时向0x0C寄存器写入0x40;

(9) 等待Ready中断,等到后向SZ1510的内部DSP装载二进制代码;

(10)进行SZ1510内部视频压缩核的二进制代码装载。

3.2 SZ1510二进制代码的装载

SZ1510 内部有一段程序空间,可用来装载二进制代码。这段空间以块(Blank)为单位,每块的大小是256字节。

用于视频编码核的二进制代码的装载空间为0x000~0x004和0x00c等六个块,共1.5k字节代码。具体装载的步骤如下:

(1) 向0x2E寄存器写0x01,表示外部的SDRAM是1M×16bits;

(2) 向0x0C寄存器写0x03,使能FIFO Ready 和 End of Data中断;

(3) 向0x11寄存器写0x1,设定工作模式为内部内存写模式;

(4)向0x10写0x20,设定SZ1510下转第10页(上接第6页)输出数据的FIFO大小为256字节;

(5)对每块程序空间进行二进制代码装载,具体过程如下:

向0x08寄存器写0x04,发送开始命令;

等待Ready中断,清除Ready中断;

向Data in寄存器0x01写256个字节;

等待End of Data中断,然后清除中断;

(6)查程序空间的代码是否装载完毕,如没有,回到(5)继续装载。

3.3 SZ1510视频数据的获取

SZ1510内部有一个256字节的FIFO。一旦该FIFO满,即产生一个FIFO Ready中断,以通知主机读取FIFO中的数据,然后通过256次读Data

out寄存器来完成数据传输。

4 注意事项SZ1510芯片的PLL PCB设计要求如下

(1)应用设计EMI滤波装置以减少VDDA的电源噪声。

(2)LPF到SZ1510的整体电路管脚长度应当小于0.5英寸。

(3)设计PCB时,外部LPF应尽量接近封装脚。

(4)VDDA和VSSA端应接0.1μF的旁路电容以减少噪音。

硬件设计论文:嵌入式系统硬件抽象层的建立及软件的可移植性设计

摘要:在阐述嵌入式系统软件设计方法的基础上,介绍嵌入式系统底层软件可移值性设计和硬件抽象层的建立;举例说明利用此思想的嵌入式软件的设计及测试过程。 关键词:设备驱动程序 嵌入式系统 软件设计 可移植性

1 嵌入式系统设计

由于嵌入式系统有着体积小、功能集中、性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及提高产品的性已成为嵌入式行业普遍关注的问题。在嵌入式系统设计中,通常采用以下设计方法。

(1)瀑布模式开发过程

瀑布模式开发过程工作模式简单,任务的划分协调及人员安排、物质材料的分配管理都比较容易。如图1所示,开发过程为从硬件到软件的流水线式进行。此类开发方式有以下特点:

小系统,如利用8051控制的低速率信号采集等;

开发所需人力、物力资源有限,一般1个或几个人即可完成;

要求开发人员对软、硬件设计和制作都比较熟悉;

对开发周期要求不高,此类开发过程无疑会使用最长的开发周期;

在开发过程中,任一环节的阻塞都会影响其它环节的开发。

(2)V模式开发过程

V模式开发过程为一种并行的工作方式,任务的划分协调及人员安排、物质材料的分配都必须考虑不同工作内容,如图2 所示。

开发过程为硬件和软件同时进行,联合调试。此类开发方式有以下特点:

大系统,如利用PowerPC等处理器设计的网络交换/访问设备;

开发人力、物力资源比较丰富;

开发人员分工比较明确,软件开发者可不需了解太多的硬件信息,而硬件开发人员对软件也可不做太多了解;

有利于缩短开发周期;

在开发过程中,软、硬件设计独立进行。 硬件开发的阻塞不会影响软件开发过程,同样,软件开发的阻塞不会影响硬件的开发过程。

但在V模式开发过程中,仍存在以下问题:

设备驱动程序的可移值性差,与硬件和操作系统均有密切相关性;

软件测试需要等硬件完成以后才能进行;

对于每个设备驱动程序设计人员都需有软件和硬件的知识背景;

在测试过程中,很难判断错误是由硬件还是由软件造成的。

为了克服V模式开发过程中的上述问题,本文将V模式开发过程稍作改进,增加了硬件抽象层,对系统软硬件起到隔离作用,从而提高系统软件的可移值性及有效地利用人力资源、缩短开发周期和提高产品的性。

2 基于硬件抽象层的系统软件设计特性

(1)包含硬件抽象层的系统结构

比较图3和图4,硬件抽象层把系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。从软硬件测试角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件的测试工作的并行进行成为可能。在抽象层的定义方面,需要规定统一的软硬件接口标准,其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。抽象层一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。

(2)包含硬件抽象层的系统开发过程

如图5给出的包含硬件抽象层V模式开发过程,在系统需求分析并定义了软硬件各自的设计要求以后,就需要花费一定的时间来定义硬件抽象层的接口,以确保硬件设计和测试与软件设计和测试工作能够在相同的接口上进行,从而有利于最终的软硬件集成测试。

从图5可以看出,在基于硬件抽象层的V模式开发过程,软硬件的设计和调试具有无关性,并可地并行进行。硬件的错误不会影响到系统软件的调试,同样软件设计的错误也不会影响硬件的调试工作,这样就可大大缩短系统的测试周期和提高系统的性。

(3)硬件抽象层的特点

硬件抽象层接口的定义和代码设计应具有以下特点:

硬件抽象层具有与硬件密切相关性;

硬件抽象层具有与操作系统无关性;

接口定义的功能应包含硬件或系统所需硬件支持的所有功能;

接口定义简单明了,太多接口函数会增加软件模拟的复杂性;

具有可测性的接口设计有利于系统的软硬件测试和集成。

3 硬件抽象层的设计示例

硬件抽象层接口的设计一般应包含以下几个步:

分析接口的数据传输特性(双向/单向数据传输,字节型/数据帧型传输模式);

分析接口配置属性;

定义接口所需的相关函数。

下面给出以字符为单位进行数据传输的UART接口硬件抽象层的接口定义内容:

设备初始化函数

BOOL InitDevice(Device_Register *regs, Device_Attribute *attr)

① 及时个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。

② 第二个参数为一个设备属性的结构,用于描述设备初始化设置的属性(波特率、校验位等等)。

③ 函数返回一个布尔类型,用于描述初始化过程的正确性。

设备字符>!

BOOL ReadDevice(Device_Register *regs, unsigned char *c)

① 及时个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。

② 第二个参数为指向字符的地址空间,用于保存设备输入的字符。

③ 函数返回一个布尔类型,用于描述设备字符输入的正确性。

设备字符输出

BOOL WriteDevice(Device_Register *regs, unsigned char c)

① 及时个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。

② 第二个参数为设备所要输出的字符。

③ 函数返回一个布尔类型,用于描述设备字符输出的正确性。 设备属性设置

BOOL SetDevice(Device_Register *regs, Device_Attribute *attr)

① 及时个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。

② 第二个参数为一个设备属性的结构,用于描述设备初始化设置的属性(波特率、校验位等等)。

③ 函数返回一个布尔类型,用于描述设备属性设置的正确性。

4 结 论

以上所述的是作者在多年嵌入式系统开发中所总结出的开发流程,并在实践应用中起到了很好的效果。相信在一个较为复杂的嵌入式系统开发过程中,很好地利用上述开发流程,将会有利于提高系统的可移植性、减少产品的开发和测试周期,并能很好地保障产品的性。