iMX6ULL。 过渡到处理器模块


美好的一天!
注意,很多文字和图片。 在市场上,您可以找到带有屏蔽板或一体式解决方案的单板PC的多种变体。 有些是针对特定任务(例如,数据收集和显示)量身定制的,另一些则是通用的,并包括适用于所有场合的各种界面。 在配置,紧固类型,连接器,形状因数等方面也观察到了显着差异。 您问为什么要开发设备,如果可以选择现有设备呢? 几年前,打开飞思卡尔的IMX6Q板-“ BD-SL-i.MX6”(阅读NXP),就想到了制作一个可以...

1.满足了我们对IMX6原型板的需求。 当时,该芯片上已经实现了多个项目。 值得说明的是,拥有自己的模块并为特定项目开发主板,您可以快速测试所有外围设备,“提高”软件,进行更改并将所有内容传输到IMX6Q必需的8层(这些芯片不限于四核)。除了QUAD,还有DUAL和SOLO-所有“引脚对引脚”,这为基于一个“板”实现具有不同功能的设备提供了充足的机会。 让我提醒您,主板可以是4层甚至是2层,可大大缩短生产时间并降低成本。

2.将模块用作组件,并向客户提供选择:将所有内容转移到一块板上,或直接使用。 公平地说,我不会考虑将购买的模块用于商业项目。 首先,您找不到适合每个人的模块(连接器很多,或者连接器很少,或者没有安装孔,或者电路板很大,等等,通常那些寻找自己的需求的人都会理解),但是,其次,自身的发展总是更加可靠。 您可以给我扔西红柿,但我只相信自己。

3.让客户有机会根据我们的模块开发其设备。 是的-事实证明这也是有需求的,但不是上面描述的(关于选择模块的复杂性)的需求,但是这是俄罗斯的开发和生产起着重要作用。 显然,“进口替代”一词极大地影响了我们的产业和发展,包括。

IMX6启动

简要介绍主要内容,但这不是本文的要旨。 使用了我们在IMX6Q上的第一个模块,该模块正在开发中,尺寸为50x75mm。 操作系统Linux和Android。


1. IMX6Q上的模块

我不会列出它的接口,优缺点。 它显示了几乎所有带有芯片的东西,这足以实现许多项目。 板载eMMC,接口连接器,以太网千兆位物理和电源。 简短的题外话已经结束,现在是重点。

我们来做什么

IMX6线路并未在上述芯片上终止。 已经出现了各种版本的IMX7,IMX8,但我们对功能更小,尺寸较小的较弱版本感兴趣-它们是IMX6UL / IMX6ULL(它们之间也是“引脚对引脚”)。 我们不仅引起了人们的注意,还因为出现了一些与通过SIP进行以太网语音相关的任务,以及需要开发小尺寸且没有散热的设备的需求。 IMX6UL带有一个非常好的用于连接外围设备的套件:


2. IMX6UL框图

谁的图片很小,可以访问NXP网站,查看这些芯片系列的详细信息。 使用此处理器的便利之一是它的主体。 它的触点间距为0.8mm,接触垫为0.356mm(BGA),这恰好意味着该电路板可以分4层进行(原则上,该芯片是在NXP参考板上完成的)。 我们使用14x14mm的版本(还有9x9mm,以0.5mm为增量)。

为什么是恩智浦而不是Broadcom,ST,Ali或其他一些处理器巨头? 实际上,重点在于芯片的可用性,技术支持和跨平台。 在IMX6Q上制作了模块之后,我们相对容易地将软件移植到IMX6UL / IMX6ULL。 这些芯片是引脚对引脚的,因此,在对UL上的软件进行调试之后,您可以切换到价格更便宜的ULL。 第二个是低功耗,因此是低热量。 我故意不提供处理器的技术参数,因此文章中有很多“水”,并且此信息是公开可用的。

在IMX6UL上实现的有趣的项目之一是以太网语音设备-SIP电话,但本质上是对讲机。


3. SIP电话。

关于主要

该项目的核心是IMX6,其上安装了SIP客户端的操作系统正在旋转。 在引导Linux之前,u-boot(引导加载程序)已加载了单独的SPI Flash。 引导加载程序和主固件的分离不是出于偶然(与参考相反),而是为了在意外断电的情况下使设备坚固耐用。 如果您开始谈论ubif和NAND上的只读部分,那么我很不高兴。 实践表明,即使是最好的NAND芯片也有死亡的权利,而且这样做非常出乎意料。 有一个用于与外界通信的RMII接口,并且板上安装了以太网交换机LAN9303-10/100(此IMX不支持千兆位),并且需要两个端口。 IMX6UL有两个带路由的RMII端口,但是需要一个集线器形式的两个独立接口。

NAND用于存储固件和文件(我们以TSOP48封装在Samsung K9F1G08U0D停了下来。我们不吐痰,也没有关闭本文,因为与BGA63相比,这种形式的内存小批量生产非常便宜)。 一种DDR3存储器芯片是K4B4G1646D,编解码器ADAU1761。 值得一看的编解码器。 在此之前,SGTL5000被用于多个项目,但是有了ADAU,生活变得更加有趣。 您可以撰写有关他的单独文章,但是我将在我的项目中尝试总结其实质。 微电路不仅具有6个模拟输入,7个输出,当然还有一个I2S接口,ADI公司以及编解码器还发布了专用软件,用于为内置DSP编写固件。 谁有兴趣,谁都不知道,谁就能读懂DSP是什么以及与之一起吃。


4. ADAU1761框图

首先,在编写软件时,程序员充分发挥了各种失真,回声消除,滤波和混音功能。 我会告诉你,这给人留下了非常深刻的印象。 界面非常友好,有许多设置,过滤器,转换,重定向声音的功能等。


5. ADI公司的SigmaStudio

该项目涉及4个通道(输入/输出),因为它们具有内置的立体声扬声器和麦克风,以及用于连接外部扬声器和麦克风的连接器。

外围板仅通过编解码器,矩阵键盘扫描仪等连接至板(图3),而未对此进行说明。

RJ45连接器之一用于PoE电源; Silicon Laboratories的Si3402芯片用作受电设备(PD)。 开关电路几乎是标准使用的,没有电流隔离,具有12V输出(电压由电阻器调节)。 对于对带隔离的PoE +感兴趣的人有些分心,TI提供了非常好的芯片-LM5072MH-80。 它已经在多个项目中证明了自己。

次级电源在DC / DC ST1S10PHR上实现-不是最便宜的,也不是最高频率的电源,但是它们工作正常并且可以通过汽车访问。 总的来说,我们有一个完整的DC / DC和LDO动物园来满足不同的需求,但是当质量很重要时,我们会选择知名的制造商。

该开发板还具有USBHOST,USBOTG和SD卡。 通过USB和SD,您可以滚动/更新固件。 网络上也有更新,但这已适用于软件和Web界面。

关于跟踪的一点

您可以无休止地张贴非洲菊和痕迹卡,但我不会这样做,但我只会谈到要点和关键点。 板的层顺序是标准的:

-TOP-具有陆地多边形的信号
-GND-地面多边形
-电源-食品测试场所
-底部-具有陆地多边形的信号

1. DDR3。 对于独立的内存布局,您需要小心,因此我没有这样做,但是以参考为例。 仅使用两层(顶层和漫游器)进行跟踪,其他两层不涉及。 通孔0.203 / 0.406mm,线宽0.114mm。 我只更改了处理器下方的地线,并使其稍粗-达到0.3mm。 事实证明,GND层是一个很好的基础,我必须在其中绘制RGB接口,这并不完全正确,但是我在板上的接口数量上根本看不到其他选择。


6.内存跟踪


7.垃圾填埋场和土地

在为电路板布线时,您需要花费更多的时间在电源和垃圾填埋场上。 使用相同的原理图开发4层板要容易得多,信号导体的走线要宽很多,总要留出两层以保证良好的电源,也可以胜任用于非关键数据线。 我几乎总是做的主要电源范围是3.3V,其余的在里面。 所有高压垃圾填埋场均设有较大的间隙以消除干扰。

2.如我之前所写,PoE是在Si3402芯片上实现的。 它严格在板的四层上进行繁殖,与主要多边形的间隙较大。 我认为它将从两层开始,但是没有人能保证质量。 在设计电源设备时,我通常会遵循评估板中的微电路,而在测试时,我会检查文档中给出的信号波形。 如果您由于板子的尺寸或配置而无法在参考文献中进行操作,则仅需根据经验和常识进行指导。

在PoE的电源层中,选择了12V范围。 其余层用于信号和接地多边形PoE-GND_EXT。 所有多边形都严格位于彼此之下,并且在其他层中不重叠相邻的多边形。 PoE多边形与主要多边形之间的距离约为1毫米。 在开发具有电隔离的PoE时,我通常还会在变压器和反馈光耦合器下方用铣刀(在电路板制造中)制作一个切口。


9. PoE。 顶部

3.外围设备。 我必须在ALi Corporation的M3616芯片上进行电路板的布线,该电路只有292个球,但是请看一下处理器在促进电路板追踪方面的考虑程度。 所有接口按正确顺序排列的清晰程度。 注意,该板分为两层,RAM完全合为一体。


10.垃圾填埋场和土地

在IMX6UL / IMX6ULL上,我不得不修改接口。 在图。 6.您会看到导体走得很紧,并且没有足够的通孔空间,您需要从第5排球中退出。 这里的主要目的是观察差分对(例如USB)中的阻抗,不要与过孔相距太远,因为这会损坏焊盘和功率范围。

但是该模块

什么都不做,但是仍然得到一个模块。 当IMX6UL / IMX6ULL上的项目数量超出预期,并且编写了主要功能时,决定像上次一样切换到模块化系统,甚至做得很优雅。


11. IMX6UL / IMX6ULL上的mx6ull-m02c模块

为什么要优雅?

  1. 该模块以“板载”形式制造,并且没有接口连接器;可以将其用作“微电路”。
  2. 在森林中,它仅具有您需要的一切:芯片,DDR3,NAND,SPI,以太网物理,一个1.35V馈线(仅允许您向模块提供一个3.3V电压),石英和无源。
  3. 一种安装方式。 并非每个模块化解决方案都可以吹嘘其底部没有组件。 这立刻带来了多个优势:主板散热,在模块下方走线的可能性(因为板上没有用于突出组件的切口)以及模块本身的生产成本较低(减去模板,安装期间卡的翻转等)。
  4. 垫在木板上。 模块下方没有焊接信号点。
  5. 模块尺寸仅为45x36mm。
  6. 我会以某种方式告诉您有关此模块上开发的一种设备的信息,但现在还是要提供母板的照片,用于调试和编写软件。


12.板上的IMX6UL / IMX6ULL模块

该板为两层,并具有启动和操作所需的接口连接器。 在此类板上,我们对运行期间的冷却和加热进行内部测试,检查负载下工作的稳定性,并调试软件。

结论

开发设备时,模块化系统究竟能提供什么?

-使用现有模块,带有外部接口的电路板的开发时间仅需几天(前提是所有接口都可以理解并在开发中使用过)。
-印刷电路板的布局要便宜得多,因为在大多数情况下,您可以制造等级较低的两层或四层板。
-由于不需要焊接与模块相关的组件,因此获得主板的速度要高得多。
-从布局到发布版本的过渡更快,更轻松(如果您仍然决定采用单板解决方案)。

当然,所有项目都是不同的,有时外围电路要比处理器本身复杂得多,但是调试单个模块总是更容易,尤其是如果一个项目的开发是由多个工程师完成的话。

在一篇文章中,很难编写任何内容。 甚至一个项目的描述都花了很多字母,但是我想谈谈几个项目,分享我对各种外围设备,使用的微电路,接口跟踪功能等的印象。 但是最主要的是准时停止。

PS: github.com/trotill/adk_yocto源链接

感谢您的关注!

Source: https://habr.com/ru/post/zh-CN411151/


All Articles