推出自己的基于x86的定制嵌入式系统(二)
扫描二维码
随时随地手机看文章
个好的解决方法是将时钟信号或电源上升时的其它切换信号传递给外部连接器并通过通道盒。运用这种信号ored和监视点信号来刷新看门狗电路。 通常只有开发和服务人员才可以进入bios设置屏幕或编写新的bios版本。这时,访问盒将与外部连接器连接,而看门狗定时器则不会终止。确定要设定足够长的看门狗定时器断开时间,这样系统有就足够的时间导入,而且更高级别的应用软件也就可以在终止前启动。 内存的问题 特别地,基于x86的系统是采用dimm内存作为主系统内存,并运转介质硬盘。嵌入式系统通常要求有一定的可靠性,dimm和标准的硬盘也许经不起激烈的震动、摇摆和其它环境要求。dimm同时还包含了spd eeprom,其中包括了内存大小、定时和北桥的缓冲器强度信息。因此这里存在两个问题。 其一,如果对震动和摇摆有严格要求的话,不大可能采用dimm内存,而且系统内存必须直接置于pc主板中,以增强系统的坚固性。用这种方法,设计工程师就不能运用intel推荐的适用于dimm内存的布局和走线准则。我们在这个100mhz的重负载地址和数据总线上做了信号完整性分析,以决定最佳走线拓扑。(图3)
其二,你可以为自己的系统自定义bios以硬启动spd数据。 不过这需要一个定制的bios,而且如果你的主板支持多重内存架构,它会变得不灵活。最好是只在pc主板添加小的串行spd efprom于pc主板中。这样,你就在内存构建或速度改变时可以改变spd数据,避免高成本且繁琐的bios升级。intel技术支持提供了一个程序(spd_chk),它能以更具用户友好和可读性的格式来显示spd数据。 ng>对于苛刻的外界环境,最好还是对运用闪存技术的硬盘做些研究。不过它们在性能上受到限制,而且也非常昂贵。别去想当然需要闪存和一些拥有更好的震动和摇摆性能的介质旋转硬盘,我们目前使用的硬盘已经满足了我们的要求。在我们的应用中,还需要有两张cf卡,这两张卡是连接到南桥上的两个ata/66接口的。cf卡可以用接地管脚9(ata_sel)通过实ide模式来构造。有了这个实ide模式,cf卡可很容易地连接到ata/66接口上。对于一些应用来说,cf卡完全可以替代硬盘。 bios是存储在名为固件中心的闪存中。这个器件同样包含了四个gpio和一个多用途的输入端口。这些gpio管脚可以用来在bios之间来回传送或接收信息。如果要用到这些,先和你的bios供应商讨论一下相关细节。在这里,当系统执行快速或缓慢导入时,输入端口是由更全面的电源上升测试所控制的。同样地,bios可以控制这些gpio管脚以启动某个硬盘,或者bios可以读取它们来执行或绕过某些bios功能。 电池的问题 当系统关闭时,所有基于x86的系统都是用电池来维持实时时钟和bios设置的。不过,有些嵌入式系统并不允许装入电池。 当电源拔除时,如果系统时钟和bios设置变更不需要保存,电池也就并非绝对需要。即使你没有使用时钟功能,rtc信号也是不可能只是升高和降低。32.768khz的时钟信号必须显示出来,否则南桥永远也无法确定其pci是否重起输出,而且整个系统也会在重起中死机。 同时,在开、关循环中丢失bios更改信息通常不是什么故障。bios商家一般会提供一个实用程序,让设计工程师可以改变bios的默认设置。如果那些bios设置需要总是改变,你可以用这个实用程序创建含有新默认值的新bios,而且不需麻烦bios商家就可以重新编写bios。 其它注意事项 ng>如果你的系统要求对传统x86体系进行根本性改变,之前你就得与bios提供商讨论这些变更。我们的bios商家给了我们一个详细的清单,上面列出了系统芯片组、外设和端口的详细信息。同时还有一个描述“非标准的”功能的章节,有时候可能会不是很明了。因此,当决定要对某些架构进行变更时,最好一开始就找bios提供商。 不要认为所有的东西都是标准的。相反的,研究一下自己系统的需求。这样,商家可以帮助鉴定bios中不寻常的东西。如果系统有很多额外的要求,按照系统开发商所控制的独立bios规范将它们记录下来。这样,每个人都可以了解到bios的要求,而且也可以很清楚地确定升级 intel还在其设计准则中提供了一些源于815芯片组的不同参考设计指南。虽然在设计当中会很想依赖它们,但最好只将它们用于辅助了解高级体系和主要接口。这些参考设计并不能考虑自己系统的特定环境或电磁兼容性要求。此外,去耦电容器、电源拓扑及过滤并不涉及系统的任何特定方面。系统有一个epga和ati视频控制器,它们有自己的上电序列要求。更甚者,intel设计指南中也建议了线宽和控制阻抗要求,这对于你的主板来说都是独一