如何寻找嵌入式平台?

4

我对嵌入式编程中的硬件定位方面还很陌生,所以在看到市场上各种选择(pc104、定制板、每个板子有无数个选项、批量折扣、开发套件等)后,我在这里寻求一些指引。

基本上,我必须找到一块新的主板,并且(很可能)重新实现程序逻辑。用C/C++/Java/C#/Pascal/BASIC重写程序不是我的问题,我的真正问题是找到合适的硬件。这块主板将连接几个其他设备。以下是我需要完成的工作:

必需:

  • 2个RS232串口(一个用于主要用户界面,另一个不连续使用)
  • 1个调制解调器(9600+波特率可行)[调制解调器将与其中一个串口设备同时使用,因此可以与其中一个串口共享中断,但不能与两个串口都共享]
  • 最小永久/长期存储:任何操作系统所需的空间 + 1 MB(可执行文件)+ 512 KB(数据文件)
  • RAM:最小值,任何操作系统所需的空间再加上可能需要的1MB可执行文件空间。

好有:

  • USB端口
  • 以太网网络端口
  • 无线网络

实现语言(任何操作系统我都能适应):

  • 首选Java/C#(可以使用Mono)
  • 第二选择是C/Pascal
  • 第三个是BASIC

好的,鉴于这一切,我很难找到低成本支持此功能的硬件。我访问的每个制造商网站都有很多选项,很难看出他们的产品是否满足我的必需条件(例如,他们有时列出3个“串口”,但似乎只有其中一个是RS232,另外两个是什么并没有提及)。第一限制是成本,第二是大小。

有人能帮我吗?这个小任务让我觉得我应该学电子工程而不是计算机科学 :-)

编辑:一些背景信息:这是一个目前正在生产中的系统,但原始程序员已经去世了,当前的硬件制造商找不到运行(当前)DOS系统的硬件,因此我需要在现代平台上重新实现它。我只能更改编程和主板硬件。


适合发布在superuser.com或chiphacker.com上。 - Paul R
我并不打算制作一个板子/芯片(我想使用现成的),也不是针对专业用户的问题。我认为嵌入式问题在这里没问题。 - Gabriel Magana
@gmagana:我认为问题必须是关于编程的才能在SO上提问。我建议您在superuser.com上提出有关硬件/软件的问题,或在chiphacker.com上提出有关嵌入式硬件的问题。 - Paul R
到目前为止,回答都很好,谢谢。我也在ChipHacker上提出了问题。感谢Paul R的建议。 - Gabriel Magana
我真的不知道在哪里划界,但这类事情与编程非常相关,我认为在这里完全可以。话虽如此,我也能理解Paul R的观点。 - Chris K
6个回答

3

BeagleBoard 可以满足您的需求,售价约为200美元,它可以运行Linux系统,您可以使用任何编程语言。


3
我建议购买一块便宜的Atom Mini-ITX主板,其中一些带有多个4+ RS232端口。
但是通过串口转USB转换器,这不是真正的问题。只需获得一个Atom。如果您有代码,请将软件移植到Linux。
这是一个Jetway Mini-Itx board的链接,以及一个4 port RS232 expansion module的链接。总价约为170美元,加上内存、硬盘、机箱和电源的额外费用,总价为250美元至300美元。
现在这里有一个Intel Atom Board,售价69美元,您可以添加闪存存储而不是驱动器,并使用USB-串口转换器进行任何数据收集。
在19英寸或23英寸机架安装配置中,PC104具有最大化使用空间的很大价值 - 如果您不在该空间中,则在我看来,PC104是浪费时间和金钱。

谢谢您直接指向资源,提供了很好的建议! - Gabriel Magana
@gmagana 很高兴能为您效劳。我认为 Atom 将会真正改革嵌入式系统设计。整个系统只需要 $69?祝好运! - Chris K
我以前使用过那些VIA C7芯片,对于我所得到的性价比感到非常惊喜。 - bta
我将您的回复标记为答案,因为您向我指出了完美的解决方案:一款由伟大公司制造的现成产品,价格绝对无与伦比(Atom主板)。我不需要调试电子设备,我只需要让主板与现有的外围设备和电源配合使用(我认为是兼容的)。我想您刚刚帮助我按时交付了这个项目!谢谢! - Gabriel Magana
@gmagana:http://www.addonics.com/products/flash_memory_reader/adsacf.asp 如果您想选择低成本的闪存存储方案,这是一个插入式SATA / CF适配器的链接。 - Chris K

2
如果系统是x86架构的话,一个“现代化”的系统可以运行DOS。我建议您看一下像Advantech这样的供应商提供的工业PC板,如果您现有的系统符合PC/DOS/BIOS标准,则很可能不需要做任何改动。
也就是说,如果您原来的系统是在DOS上运行的,那么您很可能不需要现代x86系统的强大性能,并且可以通过使用一些相当普遍的东西(例如ARM)的微控制器板来节省成本。此外,如果原来的操作系统是DOS,那么您很可能根本不需要操作系统,可以使用“裸机”开发系统。支持Linux所需的资源可能比您现有的应用程序和操作系统加起来都要多得多,而且除非您打算显著扩展系统的功能,否则几乎没有任何好处。
对于实现文件系统和USB的裸机系统或使用FreeRTOS或eCOS等简单实时内核的系统,有许多资源可用(免费和商业),它们的占用空间远小于Linux。

2

作为一个Windows用户,我会选择嵌入式Windows,但是由于Windows CE需要学习和适应的时间,而且最近我读到了关于Windows 7手机不兼容CE等方面的不稳定性,所以这并不明确。我最不想做的就是从一个过时的平台跳到另一个平台。我会耐心等待,一旦Windows把事情处理好了,我可能会立即使用这个东西来进行嵌入式Windows开发。谢谢! - Gabriel Magana
我觉得这有点奇怪,因为Phone 7、Kin、Sync、Xbox 360和Courier都在CE6上运行。我知道Phone 6.*的问题在于它们从CE分支出来,这就是为什么它失败的原因。 - Doobi

1

我曾经使用过Chris提到的Jetway板卡/扩展卡,在各种项目中都取得了成功,包括嵌入式控制、家庭路由器和HTPC前端。

你没有提到实际应用是什么,但如果由于温度或湿度限制需要更工业化的东西,我发现http://www.logicsupply.com/是一个很好的资源,可以提供能够承受冲击的迷你ITX系统。

对于这些板卡的一个提示是,考虑到你的最小存储需求,不要使用硬盘。使用紧凑型闪存卡的IDE适配器作为系统存储或SD卡。在这些应用中,没有移动部件通常是一个大的优点。它们通常也提供带有DC电源输入的型号,因此您可以使用类似笔记本电脑或壁挂式外部电源来最小化其最终尺寸。

这个http://www.fit-pc.com/web/是非常小的原子PC市场中的另一个选择,您可能需要使用一些USB转换器来获得所需的连接性。

保罗提到的比格犬开发板也是一个不错的选择,还有一些扩展卡可以添加所需的端口,它还有一个内置的SD卡读卡器,可以提供所需的存储空间。与原子系统相比,这也是一个更低功耗的选项。

有很多单板计算机可以满足您的需求。当搜索时,通常会发现它们在处理器板本身上没有保留许多接口连接器,而是需要查看它们提供的可堆叠的扩展卡,这将提供您需要的任何连接(RS-232等)。这通常是为什么您只会在描述中看到“串行端口”的原因,因为串行端口的最终物理层将在扩展卡上定义。

还有很多基于ARM的开发板可供使用,太多了无法列举,这些类似于比格犬开发板。在谷歌上搜索“模块化系统”是找到许多选项的好方法。这些通常是一个模块,其中包含处理器/ RAM /闪存,并提供各种载体板,模块插入其中,将提供所需的各种连接形式。

就开发而言,如果您更熟悉x86开发,则原子板可能是最容易的。但是,在Linux下,ARM得到了强有力的支持,因此很容易使其运行。

就我个人而言,如果是像你所讨论的无头设计,我会避免使用Windows系统,因为我很少见到基于Windows的嵌入式设备表现良好。


1

看看Arduino系列中的一块板子,特别是Arduino Mega。这些板子非常灵活,成本低廉,而且Mega有足够的I/O端口来完成您需要的任务。没有芯片内置调制解调器,但您可以通过I2C连接器连接到类似Phillips PCD3312C的设备,或者找到一个Arduino附加板(称为“shield”)来提供调制解调器功能(或蓝牙、以太网等等)。此外,这些板子非常容易连接到外部存储设备(如闪存驱动器或SD卡),因此您应该有足够的存储空间。

如果想要寻找更多类似于PC的设备,可以考虑购买一些已经采用了VIA EPIA主板的现有设备。市面上有很多这样的设备,例如机顶盒、边缘路由器、网络安全设备等,你可以购买并重新编程它们。例如,我找到了一款原本应该是网络安全设备的设备。它配备了EPIA主板、内存、硬盘和电源。我只需要格式化硬盘,安装Linux(Debian已经包含了所有必要的驱动程序),我就有了一个完整的迷你计算机。这只花费了我大约45美元(在ebay上新购买的未开封商品)。

更新:我找到的特定设备是Ingrian Networks的EdgeSecure i10。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接