基于PowerPC405EP的网络打印机控制器设计

发布者:东土大唐88最新更新时间:2006-09-14 来源: 电子设计应用关键字:寄存器  网口  控制器 手机看文章 扫描二维码
随时随地手机看文章

引言
  网络打印机是一种将网络服务器功能与打印功能合二为一的新型网络设备,其控制器设计要求处理器速度快,功能强大,能够满足网络处理、打印数据交换以及嵌入式操作系统开发等对硬件的各种资源要求。PowerPC405EP是IBM公司推出的一种高性能的32位RISC嵌入式处理器,片上集成了PowerPC405内核以及各种丰富的外围设备接口资源,最高速度可达333MHz。本文针对该处理器的特点,提出了一种网络打印机控制器的系统设计方案,并对此方案中较为关键的软硬件技术进行了讨论。

系统设计方案
  该网络打印机控制器以PowerPC405EP为核心,系统结构框图如图1所示。
该系统包含PowerPC405EP处理器芯片及其上电复位电路、电源电路、系统时钟电路、SDRAM内存及扩展电路、程序存储及启动调试Flash电路、1片连接在IIC总线上提供启动配置选择的EEPROM、用于ICE调试的JTAG口以及以太网口、串口等通信接口,与打印机引擎的数据通信协议由1块FPGA实现。当系统工作时,控制器从以太网口接收打印数据,经过运算处理后,通过外部设备总线控制器访问FPGA,把打印控制信号和数据输出给引擎,实现网络打印功能。

图1 网络打印机控制器系统结构框图



CPU时钟电路
  用一33.33MHz的外部晶振连接到CPU的Sysclk管脚作为外部输入的低频时钟源, 然后通过初始化配置片内PLL将外部输入的低频时钟源倍频,为系统产生一个高频系统时钟。

SDRAM内存电路
  由于405EP的SDRAM接口是32位数据总线,因此选用2片HY57V281620HCT芯片作为板上内存模块。该芯片片内结构组织模式为8M×16位,这2块内存芯片共用一个bankSel0片选空间,构成数据总线宽为32位的数据存储区,内存容量32MB。另外可增加一条168针的DIMM扩展槽,使内存空间扩大到512MB。

  内存模块各芯片以及DIMM的时钟由405EP的Memclkout0引脚提供(频率等于PLB总线时钟,一般为100MHz或133MHz)。为了保证各芯片时钟同步,引入CY2309时钟匹配芯片,该芯片拥有内部时钟锁相环,可以将CPU输出的时钟信号匹配成若干条相位频率完全相同的时钟信号,并且可以避免任一时钟信号反射对其他时钟造成的影响。由于内存模块工作频率较高,布板时应注意各芯片时钟走线严格要求等长,相同性质的信号线应尽量使用相同的拓扑结构,另外需结合控制器内部时序寄存器的配置来对这部分电路进行板级仿真。

程序存储电路
  由于405EP的EBC总线具有16位数据线和29位地址线,选择2片MX29LV160BTC的Flash芯片用以存放BSP、实时操作系统VxWorks和用户应用程序。将Flash的BYTE#管脚设置为低电平,使Flash工作于x8模式。这样2片Flash共用一个CS0片选空间,构成EBC数据总线同步访问的高8位和低8位,容量为4MB。由于405EP采用PowerPc内核,即405EP的A31是LSB,A3是MSB,数据总线亦然,而Flash芯片的A0和D0皆是LSB,连线时要注意管脚次序。另外,由于Flash是2字节同步读取操作,连线时应将CPU的地址线左移1位,即不使用最低位A0。

  为了便于系统调试,可增加一片512KB的SST39SF040用于bootrom启动,通过跳线与2片Flash互选CS0片选,这样系统启动时会自动从CS0的设备上读取启动代码。程序存储模块如图2所示:

图2 Flash程序存储电路



以太网接口电路
  RTL8201BL网口芯片用来实现PowerPC405EP与100M以太网的接口,使用外部25MHz晶振,通过16PT8515网络滤波器连接到以太网上。由于PowerPC405EP带有100M以太网MAC,所以能够实现和RTL8201BL的无缝连接。RTL8201BL有两种接口:SNI和MII。本系统采用MII。接口的选择可以通过设置MII/SNIB引脚为高电平和正确地设置ANE、SPEED和DUPLEX引脚来实现。MII能够运行在两个频率上,即25MHz和2.5MHz,分别支持100M以太网和10M以太网。当数据传输时,MAC将首先判定TXEN信号并改变8位数据为4位数据,再通过TXD[0:3]传到物理层上,在TXEN信号有效期间,PHY将通过传输时钟信号TXCLK对TXD[0:3]上的数据进行同步采样;当接收数据时,PHY将判定接收使能信号,来接收RXD[0:3]上的数据。

打印机引擎控制
  作为网络打印机控制器的数据输出端,在一块FPGA中由硬件逻辑来实现处理器通过EBC总线对引擎的控制如图1所示。此FPGA占用一个EBC总线的片选空间CS3并享有外部中断。在打印时,FPGA中的逻辑FIFO数据不满时将触发外部中断,处理器调用相应的中断服务程序继续向引擎发送打印数据。

系统启动配置
  PowerPC405EP提供了一个IIC串行EEPROM控制器用以实现启动配置。当配置引脚UART0-Tx被置于高电平时则使能该控制器。选用一片按照固定字节格式保存有启动配置信息的AT24C32连接到该控制器作为从设备。当系统上电或者复位时,该控制器能够从AT24C32中连续读取32个字节,用以实现PLL、各总线时钟频率、PCI总线配置、引导信息等相关寄存器的初始化配置。如果引脚UART0-Tx被置于低电平,则该控制器失效,这些寄存器初始化配置将使用默认值,其中PLL被旁路且被复位,必须在复位后用软件来初始化相关PLL寄存器。

嵌入式操作系统VxWorks的开发与移植
  本文选用WindRiver公司推出的嵌入式实时操作系统VxWorks及其集成开发工具Tornado来开发该控制器。系统开发调试工具采用WindRiver公司生产的VisionIce仿真器。仿真器一端连接PC机网口,另一端连接PowerPC405EP的JTAG接口。开发时首先调试PowerPC内核和SDRAM内存,一旦它们工作正常,就可以通过仿真器下载RTOS到内存来辅助硬件调试。然后调试网口,如果网口工作正常,就可以脱离仿真器,利用Tornado提供的工具软件,如WDB,通过网口线建立电路板与PC的通信机制,来调试其他模块和开发应用程序。开发完毕后,将正确的启动代码烧制到bootrom中,由bootrom引导程序通过ftp将VxWorks内核与应用程序下载烧写到Flash中。

  VxWorks得以广泛流行的一个重要原因在于它的可移植性,通过板级支持包BSP, VxWorks操作系统的应用代码可独立于硬件。在系统移植时,只需根据硬件平台修改BSP,而不需要改变操作系统和应用程序。

VxWorks BSP 的文件结构与开发流程
  在VxWorks中,BSP由一组与特定目标系统相关的文件组成。这些文件包括编译文件makefile、ROM初始化文件romInit.s、系统初始化文件sysAlib.s、配置文件config.h、目标板定义文件bspname.h、网络配置文件configNet.h、系统库文件syslib.c、用户配置文件usrConfig.c、引导配置文件bootConfig.c、引导初始化文件bootInit.c、串口文件sysSerial.c、以太网接口文件ibmEmacEnd.c等。BSP启动流程如图3所示。

  针对以上文件结构,系统BSP的开发流程分为3个步骤。

图3 VxWorks BSP启动流程



建立开发环境
  主要是以开发板CPU的BSP文件为模板,在tornadotargetconfig目录下创建用户的BSP目录bspname,把tornadotarget configall下的文件和BSP模板文件拷贝到该目录下。

修改模板文件
  (1) makefile:该文件通过命令行方式对创建映像文件进行控制,必须定义下列宏:
CPU:PPC405
TOOL:GNU
TGT_DIR:目标板目录的路径,使用默认
TARGET_DIR:BSP目录名,自定义
VENDOR:目标生产商名,IBM
BOARD:目标板名,自定义
ROM_TEXT_ADRS:启动ROM的入口地址,本系统设为0xfff80100
ROM_SIZE:ROM大小,本系统为512KB
RAM_LOW_ADRS:加载VxWorks的目标地址,本系统设为0x00010000
RAM_HIGH_ADRS:将引导ROM映像复制到RAM中的目标地址,本系统设为0x00c00000

  (2) bspname.h:该文件根据405EP设置串行接口,时钟及I/O设备等,必须包含以下内容: 中断向量/优先级别、I/O设备地址、设备寄存器各位的含义、系统和附加时钟参数(最大最小速率)。

  (3) config.h:该文件包含定义所有与405EP目标板相关的组件。
设置缺省启动行:用网络启动
RAM地址和大小:地址从0开始,大小为32MB
设置ECC:失效
设置是否支持MMU和Cache:支持Cache
定时器是否使用外部时钟:否
串口时钟定义:使用外部时钟
串口默认通道:使用通道1
包含网口:支持以太网接口
WDB默认通信方式:网口

  另外注意ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADRS、RAM_HIGH_ADRS必须与makefile中的定义保持一致。

  (4) romInit.s:该文件是一段汇编语言的初始化代码,其中的romInit( )函数是bootrom和基于ROM的VxWorks映像的入口。需要做的工作有:

将相关寄存器清零和置位;
屏蔽中断:通过设置MSR寄存器中的CE位与EE位;
关闭数据、指令Cache;
初始化EBC总线寄存器:通过对bank寄存器的设置为EBC总线上的各种设备分配片选信号与地址空间;
初始化内存:对SDRAM接口各寄存器进行配置,为板载内存与DIMM分配片选信号与地址空间;
初始化堆栈指针;
计算romStart( )函数地址,然后跳转到该函数执行C语言代码,并不再返回。

  (5) 用户配置文件usrConfig.c中的代码是VxWorks映像的主要初始化代码,而引导配置文件bootConfig.c中的代码是bootrom映像的主要初始化代码。bootInit.c是ROM初始化的第2阶段,RomInit( )完成后跳转到此文件中的romStart( ),该函数完成ROM映像所需要的解压缩和重定位工作。以上3个文件一般无须用户直接修改。

  (6) 系统库文件syslib.c:该文件包含了与特定目标系统相关的库函数,这些函数为操作系统和应用程序提供板级接口,使得这些程序与硬件系统无关。该文件至少包含下列函数:sysModel、sysBspRev、sysHwInit、sysHwInit2和sysMemTop等。其中sysHwInit是本文件的核心,大部分硬件初始化工作都在这部分完成。本系统也可选择将包括串口、网口等硬件设备的初始化入口程序添加到该函数中,相关设备的驱动程序可作为子文件引入syslib.c。

创建VxWorks镜像
  根据具体需要在命令行环境下利用makefile创建各种镜像,也可以在Tornado集成环境下在Build菜单里选择Build Boot Rom来创建各种类型的bootrom。

结语
  本文向读者推出了一种新型的高性能RISC处理器,并对以这种处理器为核心构建的网络打印机控制器的硬件设计方案和软件开发流程做了详细的介绍。鉴于不同类型的网络产品设计具有一定的共性,希望本文能对其他基于RISC处理器的嵌入式网络产品开发提供一定的参考价值。

关键字:寄存器  网口  控制器 引用地址:基于PowerPC405EP的网络打印机控制器设计

上一篇:GPS精密授时功能的应用
下一篇:一种嵌入式WEB服务器的设计与实现

推荐阅读最新更新时间:2024-05-13 18:14

准谐振软开关控制器IRIS4015的设计及应用
摘要:IRIS4015是一款专用准谐振软开关控制器,该芯片功能齐全,使用外围元件少,并具有完善的保护电路。文中详细介绍了该芯片的特点、功能,给出了其典型应用电路。 关键词:准谐振;软开关;反激变换器;IRIS4015 1 概述 IRIS4015是将MOSFET和开关电源控制器封装在一起的组合集成电路,主要应用于反激式准谐振变换器。该器件采用5脚SIP或SMD封装,适用于各类高低压开关电源。该器件的静态工作电流很低(100μA),具有内部软启动、温度补偿的逐脉冲过流保护OCP、过压锁定保护(OVP)和过热关断保护(TSD)等功能。 2 引脚功能 IRIS4015的管脚排列如图1所示。各引脚的功能如表1所列。
[应用]
针对PIC微控制器的设计窍门
除了可在广泛应用的Microchip公司PIC微控制器芯片中挤出更多特性外,本文探讨的诸如增加额外串口以及在8位芯片上进行32位运算等技巧,也可适用于其它微控制器。   图1:作为异步串行数据的ASCII码字母“Q”(0x51)。   尽管Microchip公司不断为其日益扩大的PIC微控制器产品线增加更多功能,但有时设计工程师只需其中一小部分功能。也许设计工程师还需要目前尚不存在的一组特性,或者继承了一种设计但不能升级,或者可能只想进行试验并打破以往传统限制。本文将介绍一些挖掘各种PIC产品极限的应用方法,其中一些技巧也适用于其它微控制器,但这里只介绍用于PIC的源代码与具体示例。本文还将分析一些方法,它们是关于
[单片机]
针对PIC微<font color='red'>控制器</font>的设计窍门
智能化背景下域控制器软硬件发展趋势
如今汽车智能化已然成为消费者购车时的重要考虑因素,用户希望汽车能够具备更多智能化功能,从单一的出行工具转变成生活、工作和娱乐的百变智能空间。 2022年11月14日,由盖世汽车主办,上海虹桥国际中央商务区管委会、上海闵行区人民政府指导,上海南虹桥投资开发(集团)有限公司协办的2022第二届智能汽车域控制器创新峰会上,小鹏汽车嵌入式系统副总监黎锦锋表示,在智能化背景下,小鹏汽车认为未来域控制器将在小型 轻量化 、算力优化、软件融合、通信提速和安全的环境中发展。 在软件开发方面,未来整车的多数软件功能将极有可能集成于域控制器,软件架构设计也将基于SOA的服务化框架、将底层的硬件服务、整车的原子服务和应用层软件进行分层解耦开发,
[汽车电子]
智能化背景下域<font color='red'>控制器</font>软硬件发展趋势
伟世通座舱域控制器SmartCore带来车机新体验
三方共同开启量产智能座舱的新时代 本次CES展示的全新SmartCoreTM 是全球首款使用第三代高通骁龙汽车座舱平台的座舱域控制器 伟世通SmartCoreTM与广汽的合作,也是业界首次将集成三个不同的座舱电子域的域控制器应用在量产车型上 美国当地时间1月8日, 全球汽车座舱电子技术领导者伟世通在2020年第21届CES上展出了其智能一体化座舱的最新成果—— 搭载第三代高通骁龙汽车座舱平台的量产座舱域控制器SmartCoreTM。该产品即将在广汽全新纯电平台首款车型Aion LX上实现正式量产。 搭载广汽Aion LX上的伟世通全新SmartCore座舱域控制器 伟世通公司全球总裁Sachin Lawa
[汽车电子]
伟世通座舱域<font color='red'>控制器</font>SmartCore带来车机新体验
基于STM32控制器的SNTP授时服务器的研究与设计
O 引言 随着信息技术和网络技术的飞速发展,网络互连已经渗透到国民经济的各行各业。而网络时间同步也越来越受到重视,特别是局域网时间同步在国家安全和国民经济的诸多领域(如国防军工、电信网、金融业、交通运输、电子商务和电力系统等部门)越发不可或缺。随着嵌入式技术的发展,嵌入式与网络时间同步技术的结合,无疑具有良好的发展前景。 1 方案设计 目前网络授时的实现方法有很多种,本文采用自行设计的嵌入式系统并在上面实现SNTP协议。从而完成网络时间的同步。其系统框图如图l所示。 本系统采用C/S模型,分为网络授时同步服务器和客户端两大部分,本文主要对网络授时服务器部分进行研究。 在网络授时同步服务器中,处理器STM32
[单片机]
基于STM32<font color='red'>控制器</font>的SNTP授时服务器的研究与设计
基于三菱FX2N的增量式PID控制器设计
  在工业生产中,常需要采用闭环控制方式来控制温度、压力、流量等连续变化的模拟量。无论是使用模拟控制器的模拟控制系统,还是使用计算机的数字控制系统,PID控制器都得到了广泛的应用。这是因为这种方法不需要精确的控制系统数学模型,有较强的灵活性和适应性。但是在数字PLC控制系统中,普通的 PID算法对所有过去状态存在依赖性,从而引起系统较大的超调,使系统稳定性下降。增量式PID控制算法每次输出只输出控制增量,必要时可通过逻辑判断限制故障时的输出,从而降低了因机器故障导致PID误输出给系统带来严重后果的影响。   在实际系统中,PLC控制模拟量可采用PLC自带的PID过程控制模块,但对要求比较高的场合采用改进的PID控制算法,就必须
[工业控制]
SRS3D立体声音响控制器M62437FP及其应用
    摘要: M6237FP是带SRS环绕和SRS聚焦的3D立体声音响控制器IC。可为汽车电子音响系统进行高质量的3维立体声音响控制。本文介绍了M62437FP的性能参数和工作原理。同时给出了它的几种应用电路。     关键词: SRS 3D立体声 音响控制器 M62437FP M62437FP是一种高品质声音还原系统(SPS)3D立体声音响控制器单片IC,它主要是为汽车音响系统而设计的,也适用于其它一些音响系统。 1 芯片简介 M62437FP采用42脚42P2R封装,芯片上集成了SRS环绕和SRS聚焦(FOCUS)系统。它的内部结构、引脚排列及外部电路如图1所示。 M62437F
[半导体设计/制造]
贸泽电子开售适用于工业和可穿戴设备的 ADI MAX32690 Arm Cortex-M4F BLE 5.2微控制器
贸泽电子开售适用于工业和可穿戴设备的 Analog Devices MAX32690 Arm Cortex-M4F BLE 5.2微控制器 2024年5月6日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Analog Devices, Inc. (ADI) 的MAX32690微控制器 (MCU)。MAX32690是一款先进的片上系统 (SoC),将所有必要的处理能力与各种消费类和工业物联网 (IoT) 应用所需的易连接性和蓝牙功能结合在一起,是适用于电池供电应用的理想型超高效MCU。 贸泽电子供应的ADI MAX32690 MCU搭载1
[手机便携]
贸泽电子开售适用于工业和可穿戴设备的  ADI MAX32690 Arm Cortex-M4F BLE 5.2微<font color='red'>控制器</font>
小广播
最新应用文章
换一换 更多 相关热搜器件
随便看看

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved