两轮电动车触摸屏对触摸控制器的独特要求

尽管关于交通运输未来的无数文章都聚焦于四轮电动车,但越来越多的出行方式更加依赖经济型两轮电动车,包括踏板车、重型摩托车、电动摩托车、电动轻便摩托车和电动自行车。这些两轮电动车遵循了四轮电动车的设计趋势,采用触摸屏进行控制,取代了物理旋钮、按钮和机械表盘。

采用触摸屏使两轮电动车设计师能够设计出外观时尚、布局灵活、设计时尚的车型。它还可以根据不同车型甚至个别车辆轻松定制。用户友好的菜单系统可以满足两轮电动车更复杂的控制、显示和功能要求,同时还可以实现导航、信息娱乐系统、远程支付和车辆安全等增值功能。

两轮电动车的触摸屏经常暴露在恶劣的户外环境中,容易受到雨、雪、灰尘或沙子的影响。在炎热的气候下,这些车辆有时可能会停在阳光直射下,受到强烈的紫外线和红外线辐射。此外,它们还容易发生事故或被故意损坏。

考虑到这些因素,两轮电动车的触摸屏最好具有 IP65/68 防护等级和厚盖玻璃,以保护底层触摸传感器和 LCD 或 OLED 显示屏组件。为了防止阳光和紫外线辐射造成的损害,需要使用紫外线/红外线滤光片,并应使用防反射/防眩光涂层,以增强所有照明条件下的屏幕可见度。

因此,显示屏堆栈需要采用厚的多层设计。然而,每增加一层,手指和电容式触摸传感器之间的距离就会增加,这让准确检测屏幕表面的触摸输入变得更加困难。

在寒冷地区,驾驶员经常戴着厚手套操作触摸屏,这进一步增加了手指与触摸传感器之间的距离。此外,在潮湿的天气里,屏幕上的雨水或雪水也会导致误触或漏输入。

高品质的触摸屏不仅必须可靠地跟踪手指在屏幕上移动的路径,还必须准确检测在潮湿条件下戴着厚手套做出的多指手势,从而实现地图导航等功能。触摸屏需要满足各种环境要求,对触摸屏控制器 IC 提出了严格的要求,必须解决以下设计挑战:

更厚的显示屏堆栈

触摸屏控制器必须支持高度的灵活性,以适应显示屏堆栈中触摸传感器上方的各个层。需要采用等效厚度为 10 毫米或更大的先进技术,从而能够使用防反射和防眩光涂层,以及 4 毫米厚的盖玻璃,并允许戴着 3 毫米厚的手套进行操作。或者,触摸屏设计师可以在屏幕和玻璃之间留出一个气隙,以便在损坏时更换顶部玻璃层而无需更换整个显示屏。然而,厚度的增加使触摸屏控制器更难以准确检测和解码触摸输入。控制器必须迎接这一挑战。

可靠的触摸性能

两轮电动车在其使用寿命的大部分时间里通常在户外使用。触摸屏控制器算法必须防止水滴被误认为触摸,仅检测手指或戴手套的手的输入。电容式感应还必须区分导电清洁溶液(如漂白剂)及其与水的混合物,确保不会发生误触摸。

功能安全

全球各地的两轮电动车都需要功能安全功能来保护使用触摸屏的骑手。骑行过程中的导航和免提通话等功能可能会分散注意力。屏幕可能需要符合 ISO 26262 (ASIL-B) 等安全标准。控制器必须提供自检功能、文档和指南以支持认证。

安全性

在租赁场景中,触摸屏可用于输入 PIN,授予租车人车辆访问权限。它们还支持通过信用卡或智能手机进行非接触式支付。触摸屏控制器必须包含加密和固件身份验证,以确保数据隐私。

噪音抗扰度

驱动电动机的动力系统电路会产生辐射和传导电磁噪声。基于开关电源的充电器会将噪声引入车辆电源线,照明系统也可能导致传导噪声。甚至 LCD 或 OLED 面板也会发出电磁干扰。如果没有适当的噪声控制,这些源可能会降低触摸屏的功能。控制器必须包含噪声过滤算法,以避免误激活,尤其是在运行期间。

Microchip 的 maXTouch® 触摸屏控制器

Microchip 的 maXTouch® 系列配备了满足这些严格要求并增强触摸屏体验的功能。主要功能包括:

  • 支持2至34英寸各种宽高比的屏幕。
  • 兼容厚度达 10 毫米的厚盖玻璃以及 0.2 毫米或更大的气隙。
  • 通过 5 毫米厚的手套(例如滑雪手套或摩托车手套)进行精确的触摸检测。
  • 防潮,防止由水滴、水流、3.5%盐水或清洁溶液引起的误触摸。
  • 加密消息和隐藏的 PIN 配置。
  • 与NFC(近场通信)技术的互操作性。
  • 高传导噪声抗扰度(通过 A 级 IEC 61000-4-6 认证)。
  • 自我诊断和报告功能。
  • 支持 Linux®/Android™ 操作系统。

总结

两轮电动车的设计与四轮车非常相似,非常复杂。设计师不断添加新功能以满足不断变化的消费者期望。增强型触摸屏由功能强大的触摸屏控制器支持,可提供将这些功能集成到车辆设计中所需的灵活性。通过满足独特要求并精心选择触摸屏控制器,可以有效满足两轮电动车设计的需求。

显示屏不亮怎么办?

解决显示屏无法打开问题的步骤摘要

步骤1:
提供原理图及测试程序,一般95%的客户都能根据信息点亮显示屏。

步骤2:
如果显示器仍然无法打开,客户需要确定问题出在硬件还是软件上。此时,最好向客户提供一个演示单元。这可以帮助客户确认显示器本身没有损坏,并大大有助于他们的故障排除过程。

步骤3:
如果问题仍然存在,客户可以与工厂工程师分享他们的原理图设计和软件,以便进行审查,以找出任何潜在问题。此步骤应该可以解决 99% 的问题。

步骤4:
如果完成上述步骤后显示屏仍无法打开,客户可以将其设计的电路板发送给工厂工程师以获得进一步的故障排除帮助。

注:有些客户会把他们使用的 MCU 或者评估套件(例如开发板)发给我们,要求我们提供设计建议。但这非常具有挑战性。市场上的 MCU 种类繁多,我们工程师想要熟悉所有 MCU 是不现实的。

例如,这类似于我们的工程师擅长修理丰田汽车,但客户开着特斯拉汽车过来要求诊断的情况。工程师需要花费大量时间来研究和理解新系统。

以下是该问题的详细描述:

我们经常会收到这样的客户邮件:
“我无法让显示器正常工作。我该怎么办?”

在对无法打开的显示屏进行故障排除时,问题通常分为两类: 硬件 or 软件.

硬件:

配置问题

LCD 屏幕通常有很多引脚,工厂可能已经实施了特定的配置。仅仅依靠数据表来排除故障有时会非常困难。客户不仅需要熟悉 LCD 驱动程序,还需要处理组件配置或故障,这有时会让他们感到沮丧。

适当的文档和详细的示意图对于帮助客户克服这些硬件挑战至关重要。

由于我们的工程师已经成功点亮了显示屏,最简单的解决方案是向客户提供我们显示屏测试设置的示意图。这样我们配置显示屏和组件的方法一目了然。

虽然客户的 MCU 可能与工厂测试时使用的 MCU 不同,但它们的功能通常相似。共享此原理图有助于客户在故障排除过程中避免不必要的弯路。

该示意图通常如下所示:

当一切看起来都正确时,但显示 仍然不亮:

有时,即使所有配置都正确,显示器仍然无法打开。这可能是由于常见的物理问题造成的,例如:

  • 显示屏损坏 (例如由于处理或制造缺陷)。
  • FPC(柔性印刷电路)撕裂,从而破坏电气连接。
  • 静电放电(ESD)损坏,这可能会破坏敏感元件。

对于精密、高精度的显示器,建议至少保留两个备用单元,以避免因损坏而导致停机。

如果显示屏仍然无法工作,客户应该考虑购买我们的 演示板 or 评估板. 这些提供了预先测试的可靠参考设计,大大缩短了客户的开发周期,并帮助他们确定问题出在他们的设置还是显示器本身。

 

软件(固件)

对于某些显示器,配置可能非常复杂,尤其是寄存器配置等设置。这些设置通常需要细致的理解和编程,甚至工厂工程师也偶尔会犯错误。

好消息是, 集成电路制造商 通常提供 示例代码库文件,可处理最复杂的任务。通过包含库文件,工程师可以简化其工作流程:

c

复制代码

#包括

这样就可以将 IC 制造商的预定义设置导入到程序中。之后,工程师只需定义界面和所需的功能即可。

对于不熟悉我们使用的IC的客户,最好提供 样例代码 从我们的产品测试中获取更多信息。这有助于他们避免不必要的弯路,并大大简化他们的开发过程。

示例代码可以以.txt文件、.h(十六进制文件)或其他格式提供,所有这些都可以为客户带来有用的参考。

示例代码通常如下所示:

或者(使用编译器 IDE 时)

通过上述硬件和软件支持,95% 的客户可以解决问题。但是,有些客户可能仍然无法点亮显示屏。这可能表明客户的主板存在问题。

支持客户的主板对工厂来说是一项挑战,主要是因为他们使用的控制器种类繁多。工厂工程师需要投入大量时间彻底研究客户的控制器和 PCB 接线。

也就是说,如果工厂工程师熟悉常用的控制器,例如 51系列, STM32 系列Arduino 系列,他们也许能够提供帮助。

如果工厂工程师了解客户的 MCU,他们可以通过以下方式提供有针对性的支持:

  • 这款 连接方式 MCU与LCD之间(如下图所示)。
  • 相应 样例代码 进行具体设置。

请注意:

  1. 演示板和评估板(评估套件)之间的区别:
    • 演示板:
      专为工厂演示显示功能而设计。客户无法修改图像或显示配置,或者很难修改。
    • 评估板:
      更加灵活,因为它允许客户编程和上传自己的图像,甚至修改显示设置。目前,我们提供两种价格实惠的评估板:

      • 爵士乐-MCU-01:
        设计用于驱动具有 SPI、I2C、8 位或 16 位 MCU/TTL 接口的显示器。工厂可以预加载客户提供的图像,或者如果客户熟悉 AGU 的产品,他们可以上传自己的图像。
      • 爵士-HDMI-01:
        设计用于驱动具有 RGB、LVDS 或 MIPI 接口的显示器。由于它使用 HDMI,客户可以将其连接到计算机以直接查看所需的图像和视频。
  2. 软件(代码)和固件之间的区别:
    • 固件:
      固件也是代码,但用于硬件的较低级别。它通常涉及很少更改的基本硬件设置。例如,在触摸控制 IC 中,出厂设置的固件通常包括触摸灵敏度和温度曲线等设置。
    • 代码(软件):
      软件建立在固件之上,通过实现高级功能来增强硬件的功能。它允许用户进行特定的自定义和更高级别的操作。

嵌入式触摸显示驱动芯片(TDDI)简介

TDDI(触摸和显示驱动器集成)技术将触摸功能与显示驱动器集成在单个芯片中,简化了显示结构并提高了性能。在 TDDI 技术中,触摸传感器通常直接集成到显示面板的玻璃基板中,从而形成一体化触摸和显示解决方案。

具体来说,TDDI 技术将触摸传感器嵌入到显示屏的彩色滤光片基板和偏光片之间,将触摸传感器定位在显示屏的玻璃层内。这种高集成度使显示和触摸功能以精简的形式实现。这种设计使显示屏更薄,边框更窄,屏占比更高,并简化了供应链。结构如下:

  1. 这款 GFF(玻璃-薄膜-薄膜) 方案采用显示和触摸分离的结构,显示和触摸是独立的模块。
  2. 这款 在细胞 该方案将触控传感器嵌入到彩色滤光片基板与显示屏偏光片之间,将触控传感器定位在显示屏玻璃上,使显示屏与触控模块合二为一,但IC与FPC仍保持分离,采用两种不同的设计。
  3. 这款 TDDI 该解决方案将触摸传感器完全集成到显示器的TFT面板中,将显示和触摸模块、IC和FPC统一到单个设计中。这是一个高度集成的显示和触摸功能解决方案。

TDDI方案因集成度高,具有屏幕薄型化、降低成本、简化供应链等优势,已成为智能手机LCD屏幕的主流方案,截至2020年,LCD TDDI方案在智能手机显示及触控应用占比已超过50%。

智能手机TDDI显示技术的发展趋势包括 高刷新率、窄边框、高功能集成.

(1)高刷新率的优势

  1. 减少图像显示中的闪烁和抖动,有助于缓解眼睛疲劳。
  2. 增强游戏应用中的动态场景,减少快速移动过程中的模糊和屏幕撕裂。
  3. 提高屏幕转换或滚动时的流畅度,最大限度地减少图像和视频中的模糊和重影。

TDDI IC 的要求: 为了支持高刷新率,TDDI IC需要更快的MIPI数据接收、更高的振荡频率(OSC)、更强的驱动能力以及更快的响应和处理速度。

全高清 LTPS TDDI:144Hz 显示器已实现量产,但 160Hz 仍处于 RFI(Request for Information)阶段,尚未有对应产品。另外,160Hz LCD TDDI 需求仍不明朗,因此大多数制造商都采取观望态度。

高清 a-Si TDDI:产量已达到 90Hz,而新的凹陷凸块 IC 现在支持 120Hz。对于高清 120Hz 显示器,不存在技术瓶颈或额外成本。一旦成本兼容的主板配置面市,制造商计划启动项目,可能将高清显示器升级到 120Hz。

(2)窄边框、超窄下边框,全面屏设计

厂商也在追求超窄边框,尤其是底部,以实现真正的全面屏体验。

窄边框技术解决方案:

  1. 焊盘排列:
    这款 交错 相比之下 无交错 设计,可以在不增加成本或影响性能的情况下减少底部边框约 1mm。因此,自 2017 年以来,隔行扫描已取代无隔行扫描成为主流选择。
  2. 粘合类型:
    这款 COF (薄膜芯片)解决方案的优势 COG COF 封装方式有利于实现窄边框,但 COF 封装成本较高,不太适合中低端 LCD 机型,因此 COG 封装方式仍是 LCD TDDI 方案的主要封装方式。
  3. 大门设计:
    2018 年至 2019 年期间,显示器和 IC 制造商推出了 双门 高清 a-Si 显示屏的设计,以实现更窄的底部边框。然而,由于双栅极设计存在性能问题,并且与 2019 年末出现的高刷新率趋势相冲突,市场很快就放弃了它。目前,传统的 单门 设计主导智能手机的 TDDI。
  4. 凸块设计:
    在双闸板方法停止使用后,玻璃制造商提出了一种新的 凹陷凸块 设计以实现更窄的边框。这种设计不会增加额外成本,也不会影响其他性能领域。预计它将逐渐取代标准 正常凸起 设计,成为主流方法。

全高清LTPS:采用源极分离器设计,传统普通凸块配置的底部边框已经约为 3.1mm。通过切换到凹陷凸块实现的减少微乎其微,因此对这种改变的需求并不强烈,并且仍在预研究中。

高清晰度非晶硅:传统普通凸点设计下边框为4.0-4.2mm,凹陷凸点设计可将其缩小至3.0-3.2mm,实现约1mm的缩小。此方案优先应用于高清产品,目前已在部分智能手机机型上量产,预计2022年下半年将实现量产,凹陷凸点有望逐步取代普通凸点成为主流方案。

以下是一些主要的TDDI(触摸和显示驱动器集成)芯片制造商及其产品示例:

  1. 联咏:
    • NT36525:支持高分辨率显示器,适合智能手机和平板电脑。
    • NT36523:专为中高端智能手机设计,具有高刷新率。
  2. 焦点科技:
    • FT8756:支持全高清(FHD)分辨率,适合智能手机。
    • FT8751:中低端设备的高性价比选择。
  3. 奇景:
    • HX8399:支持高分辨率显示器,适合智能手机和平板电脑。
    • HX8394:适合具有良好显示性能的中档智能手机。
  4. 晶门科技:
    • SSD2010:支持454RGBx454分辨率,非常适合可穿戴设备。
  5. 集创北方:
    • ICNL9911C:支持HD/HD+分辨率,适合智能手机。
  6. 德阳科技:
    • TD4160:支持高刷新率和多指触摸,适用于智能手机和平板电脑。
  7. Synaptics的:
    • TD4303:支持混合in-cell面板技术,适用于智能手机。

这些TDDI芯片广泛应用于智能手机、平板电脑和可穿戴设备,具有集成度高、显示和触控性能优异等特点。

如果您对显示屏和触摸防水要求有任何疑问,请联系东方显示 支持工程师

显示器盖板玻璃简介

盖板玻璃(Cover Lens)主要用作触控屏幕的最外层,其主要原料为超薄平板玻璃,具有抗冲击、耐刮擦、防油污、防指纹、透光率高等特性,目前广泛应用于各类具有触控显示功能的电子消费产品。

1.玻璃的分类

a.钠钙玻璃:主要成分为SiO₂,附加含量为15%的Na₂O和16%的CaO。
b. 铝硅酸盐玻璃:主要由SiO₂和Al₂O₃组成。
c. 石英玻璃:SiO₂ 含量超过 99.5%。
d. 高硅玻璃:含有约96%的SiO₂。
e. 铅硅酸盐玻璃:主要由SiO₂和PbO组成。
f. 硼硅酸盐玻璃:主要由SiO₂和B₂O₃组成。
g. 磷酸盐玻璃:主要成分为五氧化二磷(P₂O₅)。

类型 c 到 g 在显示中很少使用,因此这里不再讨论。

2. 玻璃原料加工工艺

浮法玻璃

浮法玻璃采用海砂、石英砂岩粉、纯碱、白云石等原料生产,在熔炉中混合、高温​​熔化,熔融的玻璃不断从熔炉中流出,浮在熔融金属槽表面,形成均匀厚度的平板玻璃带,经火焰抛光,冷却硬化后与熔融金属分离,再经退火、切割,制成透明无色的平板玻璃。浮法玻璃的成型过程在有保护气体的锡槽中完成,从而形成玻璃的锡侧与空气侧的区别。

b.溢出过程:

溢流工艺中,熔融玻璃从进料段进入溢流通道,沿长溢流槽表面向下流动,汇聚在溢流槽下方楔形体的底部,形成玻璃带,经退火后即为平板玻璃。此工艺是目前制造超薄盖板玻璃的流行工艺,加工良率高,品质优良,整体性能优异。与浮法玻璃不同,溢流玻璃没有锡面或空气面。

3. 钠钙玻璃简介

a.又称钠玻璃(英文:soda-lime glass),采用浮法加工而成,故又称浮法玻璃。由于玻璃中含有微量铁离子,从侧面看呈绿色,故又称绿玻璃。

b. 钠钙玻璃厚度:0.3–10.0 毫米

c. 钠钙玻璃品牌:

  • 日本品牌:旭硝子(AGC)、日本板硝子(NSG)、中央硝子(CENTRAL)等。
  • 中国品牌:南玻集团、信义玻璃、洛阳玻璃、中航三鑫、金晶集团等。
  • 台湾品牌:台湾玻璃(TGC)。

4.高铝硅酸盐玻璃(高铝玻璃)简介

a. 高铝玻璃品牌美国:康宁大猩猩玻璃,由康宁公司生产的一种环保型铝硅酸盐玻璃。日本:龙迹玻璃,由AGC公司生产,这种玻璃通常被称为“龙迹玻璃”。中国:熊猫玻璃,由旭虹公司生产,是一种高铝玻璃。其他制造商包括南玻集团和旗滨集团。

b.盖板玻璃加工涉及盖板玻璃加工的公司包括蓝思科技、博恩光学、深圳欣濠、智泰光电、江西星辰、比亚迪等。

5. 玻璃的化学强化

a. 原理:

将玻璃浸入熔融盐浴(KNO₃)中。高浓度的 K⁺ 离子渗透到玻璃表面并取代玻璃中的 Na⁺ 离子。由于 K⁺ 的离子半径大于 Na⁺ 的离子半径,这种取代会增加玻璃的表面密度,从而在表面产生压应力。此过程通过化学强化提高了玻璃的强度。

 

b. 化学强化检测项目

层深度(DOL):表示玻璃经过强化后的应力层的深度。

压缩应力(CS):表示化学强化玻璃的表面压缩应力。

表面硬度:使用铅笔硬度测试进行评估。

落球试验:一种评估玻璃抗冲击性能的破坏性试验。

请注意:

  1. 根据我们的项目经验,我们建议如下:

    a. IK1.1 使用04毫米厚的玻璃。

    b. 对于IK1.8,请使用06毫米厚的玻璃。

    c. IK3.0 使用08毫米厚的玻璃。

    d. 对于IK6.0,请使用10毫米厚的玻璃。

  2. 物理钢化玻璃 主要推荐用于安全至上的客户。这是因为,物理钢化玻璃破碎后会碎成小颗粒,而化学钢化玻璃则会碎成锋利的碎片,造成安全隐患。
  3. 对于化学强化玻璃为了增强安全性,在表面进行光学粘合或施加防碎膜可以防止玻璃碎片在破碎时散落。

6. 玻璃盖板生产工艺流程

切割→CNC(刨边、钻孔、磨边、倒角)→超声波清洗→化学强化→超声波清洗→毛坯玻璃全检→丝网印刷→烘烤→玻璃全检→超声波清洗→表面AR镀膜→AF防指纹镀膜→玻璃全检→镀膜包装。

关键步骤解释如下:

a.切割

使用金刚石砂轮刀将原始玻璃板切割,然后将其切成矩形块,每边比最终产品尺寸大 20-30 毫米。

b. CNC(成型、钻孔、修边和倒角)

采用高硬度的金刚石砂轮高速旋转,在良好的冷却润滑条件下对玻璃基片进行机械磨削,以达到所需的结构尺寸。设计不同的刀具形状和粒度以满足不同的加工要求。

c. 化学强化

在高温下,玻璃与KNO₃发生离子交换,KNO₃中的离子取代了玻璃中的离子,由于取代离子的原子半径较大,钢化后玻璃表面会产生压应力,当玻璃受到外力作用时,这层压应力可以抵消部分拉应力,防止玻璃破裂,而这种压应力又可以增加玻璃的抗弯曲、抗冲击性能。影响化学钢化玻璃强度性能的因素(如落球试验、四点弯曲试验)包括:1)玻璃的钢化性能指标(DOL、CS);2)玻璃内部及表面缺陷(微裂纹、划痕);3)CNC加工过程中形成的边缘崩边、隐藏损伤;4)玻璃原料本身的固有缺陷(原料中的杂质、不平整部位、气泡、夹杂物等,这些属于不可控因素)。

d. 抛光

使用配备有抛光垫和抛光粉的双面磨床对玻璃材料进行研磨和抛光。此过程可去除表面杂质和微裂纹,提高玻璃表面的光滑度并降低粗糙度。抛光粉的主要成分是二氧化铈。二氧化铈抛光粉颗粒呈多边形,边缘清晰,平均直径约为2微米,莫氏硬度为7-8。二氧化铈抛光粉的粒度和纯度直接影响抛光效果。

e.超声波清洗

当高频振动(28-40 kHz)传递到清洗介质时,液体介质会产生近乎真空的空化气泡,这些气泡在碰撞、融合、消散的过程中,会在液体内部产生数千个大气压的局部压力爆发,如此高的压力使周围的物质发生各种物理和化学变化,这一过程称为“空化”。空化可以破坏物质分子中的化学键,导致物理变化(溶解、吸附、乳化、分散)和化学变化(氧化、还原、分解、合成),有效去除污染物并清洁产品。

f. 印刷

印刷的原理是利用感光材料制作模版,将油墨置于网框内,用刮刀施加压力,将油墨从网孔中推到承印物上,形成与原设计完全相同的图案和文字。

g. 涂层

在真空条件下(10⁻³Pa),电子枪发射高速电子束轰击镀膜材料并加热,使其蒸发沉积在基材表面,形成薄膜。镀膜设备主要由真空系统、蒸发系统、膜厚监控系统组成。常见的镀膜有AF(防指纹)、AR(防反射)、AG(防眩光)等功能性膜、高硬度膜、NCVM(非导电真空镀膜)等装饰性膜、彩虹膜等。

7.IK评级

IK 等级是一种国际分类,表示电气外壳针对外部机械冲击提供的保护程度。

IK 等级定义为 IK00 至 IK10。IK 等级量表确定了外壳抵抗冲击能量水平的能力,以焦耳 (J) 为单位,符合 IEC 62262 (2002)。

IEC 62262 规定了测试时外壳的安装方式、所需的大气条件、测试冲击的数量和分布以及每个 IK 等级要使用的冲击锤。测试由夏比摆锤冲击试验机进行。

IK00 未受保护

IK01 防止0.14焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 56 毫米处落下所受的冲击。

IK02 防止0.2焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 80 毫米处落下所受的冲击。

IK03 防止0.35焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 140 毫米处落下所受的冲击。

IK04 防止0.5焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 200 毫米处落下所受的冲击。

IK05 防止0.7焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 280 毫米处落下所受的冲击。

IK06 防止1焦耳的冲击。
相当于 0.25 公斤重的物体从受冲击表面上方 400 毫米处落下所受的冲击。

IK07 防止2焦耳的冲击。
相当于 0.5 公斤重的物体从受冲击表面上方 400 毫米处落下所受的冲击。

IK08 防止5焦耳的冲击。
相当于 1.7 公斤重的物体从受冲击表面上方 300 毫米处落下所受的冲击。

IK09 防止10焦耳的冲击。
相当于 5 公斤重的物体从受冲击表面上方 200 毫米处落下所受的冲击。

IK10 防止20焦耳的冲击。
相当于 5 公斤重的物体从受冲击表面上方 400 毫米处落下所受的冲击。

 

如果您对显示器盖板玻璃有任何疑问,请联系 Orient Display, 支持工程师

 

使用 QEMU 模拟嵌入式 Linux 系统

使用 QEMU 模拟嵌入式 Linux 系统

 

1. 简介

嵌入式软件开发依赖于嵌入式硬件设备,如开发板、外部模块设备等,但如果调试工作与外设无关,则无需购买硬件即可使用QEMU模拟内核调试。

它可用于 Linux 和 Windows 主机以及模拟的 PowerPC、ARM、MIPS 和 SPARC 目标。 QEMU 采用在主机和目标处理器之间提供最小转换层的方法。 主机处理器是运行仿真器的处理器,目标处理器是被仿真的处理器。

下面详细介绍搭建QEMU开发环境的过程。

 

2。 环境

2.1 使用环境

* Ubuntu-18.04.1

或者:

* 电脑:Windows10

* 虚拟机:VirtualBox-5.18

* 虚拟操作系统:Ubuntu-18.04.1

* 模拟开发板:vexpres

2.2 搭建环境时用到的工具

* qemu-4.2.0

* linux-4.14.172 (Linux 内核)

* u-boot-2017.05

*busybox-1.31.1

*arm-linux-gnueabi-gcc

将所有相关文件放在 /home/joe/qemu

3.安装交叉编译工具

# sudo apt 安装 gcc-arm-linux-gnueabi

 

检查是否安装成功

$arm-linux-gnueabi-gcc -v

使用内置规格。

COLLECT_GCC=arm-linux-gnueabi-gcc

COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/7/lto-wrapper

目标:arm-linux-gnueabi

配置:../src/configure -v –with-pkgversion='Ubuntu/Linaro 7.5.0-3ubuntu1~18.04′--with-bugurl=file:///usr

线程模型:posix

gcc 版本 7.5.0(Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)

 

4.配置和编译Linux内核

4.1 下载Linux内核

从 www.kernel.org 下载所需的内核版本。

这里我下载了相对最新的长期支持的内核版本linux-4.4.157

wget的 https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.157.tar.xz  到 /qemu 目录

4.2 解压Linux内核

# tar xvJf linux-4.4.157.tar.xz

4.3 编译Linux内核

// 进入内核源文件目录

# cd linux-4.4.157

使 CROSS_COMPILE=arm-linux-gnueabi-ARCH=arm vexpress_defconfig

make CROSS_COMPILE=arm-linux-gnueabi-ARCH=arm menuconfig

如果运行 menuconfig 显示缺少 ncurses 包,只需运行以下命令安装即可)

$ sudo apt-get 安装 libncurses5-dev

进入菜单配置,进行如下设置

使用交叉工具链编译

编译成功后,在目录下生成内核镜像文件

arch/arm/boot, zImage 和 dtb 可以复制到单独的文件夹中,方便使用

 

5. 安装 QEMU 工具

5.1 安装 QEMU

* wget https://download.qemu.org/qemu-4.2.0.tar.xz

* tar xvJf qemu-4.2.0.tar.xz

* cd qemu-4.2.0

5.2 配置QEMU前安装依赖包

# apt 安装 zlib1g-dev
# apt 安装 libglib2.0-0 libglib2.0-dev
# apt 安装 libsdl1.2-dev
# apt 安装 libpixman-1-dev libfdt-dev

为了防止编译后文件杂乱,创建builder目录作为编译的中间目标路径。

配置、编译和安装 QEMU。

5.3 配置QEMU支持arm架构下的所有板卡

# ../configure --target-list=arm-softmmu --audio-drv-list=

如果出现以下提示时缺少pixman,

使用 sudo apt-get install libpixman-1-dev 安装它。

5.4 查看QEMU版本

5.5 查看QEMU支持的开发板

5.6 运行 QEMU

# qemu-system-arm -M vexpress-a9 -m 512M -kernel ./zImage -dtb ./vexpress-v2p-ca9.dtb -ngraphic -append “console=ttyAMA0”

要么:

$密码

/家/乔/qemu

# qemu-system-arm -M vexpress-a9 -m 512M -kernel linux-.4.157/arch/arm/boot/zImage -dtb linux-4.4.157/arch/arm/boot/dts/vexpress-v2p-ca9. dtb -nographic -append “console=ttyAMA0”

为了更好的测试和启动qemu,可以创建启动脚本start.sh,并赋予脚本运行权限chmod +x start.sh

 

#!/斌/庆典

 

qemu 系统臂 \

-M vexpress-a9 \

-m 512M \

-内核/home/joe/jemu/linux-4.4.157/arch/arm/boot/zImage \

-dtb /home/joe/jemu/linux-4.4.157/arch/arm/boot/dts/vexpress-v2p-ca9.dtb \

-地理\

-附加“控制台= ttyAMA0”

 

6.制作根文件系统

使用busybox制作一个简单的根文件系统。

6.1 下载busybox工具

从 https://busybox.net/downloads/ 下载busybox

# wget https://busybox.net/downloads/busybox-1.31.1.tar.bz2

# tar xjvf busybox-1.31.1.tar.bz2

# cd busybox-1.31.1

# 进行定义

# 使 CROSS_COMPILE=arm-linux-gnueabi-

# 安装 CROSS_COMPILE=arm-linux-gnueabi-

提示如下信息,说明安装成功。

安装完成后,生成的目标文件默认在./_install目录下。

 

6.2 生成根文件系统

6.2.1 编译安装busybox

# mkdir 根文件系统

# sudo cp -r _install/* rootfs/

6.2.2 添加glibc库,在根文件系统中添加loader和动态库

# sudo cp -r _install/* rootfs/

# sudo cp -p /usr/arm-linux-gnueabi/lib/* rootfs/lib/

6.2.3 创建4个tty终端设备(c代表字符设备,4是主设备号,1~4分别是次设备号)

 

6.3 制作SD卡文件系统镜像

6.3.1 生成空的SD卡镜像

# dd if=/dev/zero of=rootfs.ext3 bs=1M count=32

6.3.2 将 SD 卡格式化为 exts 文件系统

# mkfs.ext3 根文件系统.ext3

6.3.3 烧录rootfs到SD卡

# sudo mount -t ext3 rootfs.ext3 /mnt -o 循环

# sudo cp -rf rootfs/* /mnt/

# sudo 卸载 /mnt

 

7. 验证

7.1 启动 Qemu

运行以下命令进行测试,检查编译后的内核是否可以成功运行

# sudo qemu-system-arm -M vexpress-a9 -m 512M -kernel ~/qemu/zImage –dtb ~/qemu/vexpress-v2p-ca9.dtb -ngraphic -append “console=ttyAMA0”

或者使用脚本:

 

在上面的测试中,内核会报panic,提示我们缺少根文件系统。

以上问题是由于x86环境下busybox工具生成的。

我们在安装busybox时使用了make install,所以你应该使用

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-安装

 

编译工具生成arm平台使用的busybox工具

# 文件 rootfs/bin/busybox

rootfs/bin/busybox:ELF 32 位 LSB 可执行文件,ARM,EABI5 版本 1 (SYSV),动态链接,解释器 /lib/ld-,适用于 GNU/Linux 3.2.0,BuildID[sha1]=cbcd33b8d6c946cb19408a5e8e714f554

 

7.2 再次验证

现在Qemu已经启动Linux内核并成功挂载文件系统,可以通过串口终端与系统进行简单的功能交互。 打印过程中无法运行/etc/init.d/rcS的问题,只需要添加/etc/init.d/rcS文件即可。 文件的内容可以是提示语句。

 

7.3 退出 QEMU

退出qemu的两种方式

* 在另一个终端输入中:kill all qemu-system-arm

* 在Qemu中输入:Ctrl+A; X

QEMU:终止

 

8.通过u-boot启动Linux内核

嵌入式系统通常包括:u-boot、kernel、rootfs、appfs。 这些部件在ARM开发板上的位置关系如下图所示

 

引导加载程序 引导参数 核心 根文件 应用程序

 

Rootfs 可以在板载或 PC 上运行

 

8.1 准备U-boot

8.1.1 下载u-boot

http://ftp.denx.de/pub/u-boot/,我们使用:u-boot-2021.01.tar.bz2

# tar -jxvf u-boot-2018.09.tar.bz2

8.1.2 编译u-boot

# vim 生成文件

CROSS_COMPILE = arm-linux-gnueabi-

# vim 配置.mk

ARCH = 手臂

# 制作 vexpress_ca9x4_defconfig,错误

需要:sudo apt install bison

sudo apt 安装 flex

然后:#make -j4 错误

需要:导出 CROSS_COMPILE=arm-linux-gnueabi-

出口 ARCH=臂

再次:# make vexpress_ca9x4_defconfig

#make -j4

 

 8.1.3 测试,启动u-boot

$ sudo qemu-system-arm -M vexpress-a9 -m 512M -kernel u-boot-2021.01/u-boot –ngraphic

 

8.2 内核配置编译

使用 u-boot 启动内核镜像:

需要将内核编译成uImage格式,

需要指定uImage在内存中的加载地址

编译内核时指定:make LOADADDR=? uImage -j4

 

# cd /home/joe/qemu/linux-4.4.157

# 使 LOADADDR=0x60003000 uImage -j4

 

u-boot编译完成后,在tool文件夹下会生成一个mkimage文件,把这个文件拷贝到交叉编译目录下的bin文件夹下。

$ cd qemu/linux-4.4.157

错误:

$ sudo apt 安装 u-boot-tools

获取 uImage

9.QEMU网络功能设置

当Qemu虚拟机在u-boot上启动时,需要将uImage加载到内存中,通过TFTP服务器可以将uImage下载到内存中的指定地址。

9.1 检查主机内核是否支持tun/tap模块

// 安装桥接网络依赖的两个工具

# sudo apt 安装 uml-utilities bridge-utils

创建tun设备文件:/dev/net/tun(一般是自动创建的)

修改/etc/network/interfaces(配置网络,重启生效)

# sudo vim /etc/网络/接口

auto loiface lo inet loopbackauto enp0s3 // 虚拟网卡名称auto br0iface br0 inet dhcpbridge_ports enp0s3

 

永不重启

# 重启

然后查看Qemu的网络环境

虚拟网口br0是Qemu虚拟机与Linux主机通信的网口。

 

10.安装TFTP服务器

Qemu仿真开发板启动uImage时创建TFTP服务器将uImage下载到内存

 

10.1 安装tftp工具

 

$ apt-get 安装 tftp-hpa tftpd-hpa xinetd

 

10.2 修改配置文件,设置TFTP服务器目录

# sudo vim /etc/default/tftpd-hpa

......

TFTP_DIRECTORY="/home/joe/tftpboot"

......

10.3 在Linux主机上创建tftp目录

# mkdir /home/joe/tftpboot

# chmod 777 /home/joe/tftpboot

 

10.4 重启tftp服务

# sudo /etc/init.d/tftpd-hpa 重启

 

10.5 在u-boot中设置内核启动参数

将 uImage 和 cexpress-v2p-ca9.dtb 复制到 tftpboot

启动Qemu进行验证

 

$ sudo qemu-system-arm -M vexpress-a9 -m 512M -kernel u-boot-2021.01/u-boot –nographic -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 -sd rootfs.分机3

 

现在rootfs目录就是一个简单的根文件系统,可以做成镜像文件,可以把镜像文件烧录到开发板上,也可以用Qemu中的u-boot启动Linux内核挂载到开发板上镜像文件。 它也可以设置为通过 NFS 网络文件系统启动。

 

11.挂载NFS文件系统

11.1 安装配置NFS服务

11.1.1安装

$ sudo apt 安装 nfs-kernel-server

 

11.1.2 配置

$ sudo mkdir /home/joe/qemu/rootfs

$ sudo chown nobody:nogroup /home/joe/qemu/rootfs

$ sudo chmod 777 /home/joe/qemu/rootfs

$ sudo nano /etc/exports

添加:/home/joe/qemu/rootfs *(rw,sync,no_root_squash)

 

重启 nfs 服务器:

$ sudo /etc/init.d/nfs-kernel-server restart

或者: $systemctl restart nfs-kernel-server

 

检查是否创建了NFS共享目录

$ sudo showmount –e

Linux主机在使用NFS网络文件系统时需要关闭系统防火墙,否则系统运行时会出现异常。

 

总结

希望在这篇博客的帮助下,您对 QEMU 有了更多的了解。 上面展示的所有技术都用于我们程序的各种提交。 没有一种单一的、固定的方式来模拟 QEMU。 探索不同的技术,看看什么适合你。 熟悉这些知识,您会惊讶于它如何以意想不到的方式帮助您。

荔枝皮介绍

荔枝皮介绍

LicheePi是一款精致的单板电脑,运行在近年来流行的低成本全志V3S平台上。 可用于初学者学习 Linux 或产品开发。 它提供了丰富的外设(LCD、ETH、UART、SPI、I2C、PWM、SDIO……)和强大的性能。

 

       

        荔枝零荔枝纳米

 

 

 

       

                                 荔枝派零荔枝派纳米 

 

 

产品优势

LICHEE PI 零

荔枝皮纳米

系统芯片 全志V3S 全志F1C100S
中央处理器 ARM的Cortex-A7 ARM9
工作频率 1.2GHz 408MHz
内存 64MB DDR2 32MB DDR2
SPI 闪存/微型 SD SPI 闪存/微型 SD

屏 显:

 

* 通用 40P RGB LCD FPC:

* 支持的分辨率:272×480、480×800,1024、600×XNUMX

* 板载RTP芯片,支持触摸屏

* 通用 40P RGB LCD FPC:

* 支持的分辨率:272×480、480×800,1024、600×XNUMX

* 板载RTP芯片,支持触摸屏

接口

 

* 标清输入接口 x2
* 接口 x1
* I2C x2
* UARTx3
* 100M Ether x1(包括EPHY)
* OTG USB x1
* MIPI CSI x1
* 脉宽调制 x2
* LRADC x1
* 扬声器 x2 + 麦克风 x1
* 标清输入接口 x1
* 接口 x2
* 捻线 x3
* 串口 x3
* OTG USB x1
* 电视输出* PWM x2
* LRADC x1
* 扬声器 x2 + 麦克风 x1

电气信息

 

Micro USB 5V, 2.54mm pin 3.3V~5V供电; 1.27mm邮票孔电源。

1GHz linux IDLE 运行 90~100mA; cpu-burn 运行 ~180mA

储存温度 -40~125

工作温度 -20~70

Micro USB 5V, 2.54mm pin 3.3V~5V供电; 1.27mm邮票孔电源。

408MHz linux IDLE 运行 90~54mA; 屏幕工作电流 ~250mA

储存温度 -40~125

工作温度 -20~70

 

运行Linux压力测试时的温度仅略高于体温。

 

Lichee Pi 支持多种操作系统,例如:Linux、RT-Tread、Xboot 或无操作系统。

与大多数 MCU 一样,荔枝派可以连接多个低速接口,例如 GPIO、UART、PWM、ADC、I2C、SPI 等。 此外,它还可以运行其他高速外设,例如 RGB LCD、EPHY、MIPI CSI、OTG USB 等。 Lichee Pi 有一个集成的编解码器,可以直接连接到耳机或麦克风。

 

显示连接器:

万能40P液晶屏自带led背光四线,电阻触控,非常适合显示和交互。 A13还支持四线电阻触控功能,可以进行两点触控检测。

 

该接口与以下接口兼容 东方显示 的产品。

 

RGB转VGA:

 

RGB转HDMI:

 

RGB 转 GPIO:

 

RGB 到 DVP CSI:

 

荔枝皮链接:

http://dl.sipeed.com/
维基:maixpy.sipeed.com
博客:blog.sipeed.com
电报群:https://t.me/sipeed

东方显示嵌入式项目介绍

东方显示嵌入式项目介绍

Orient Display是世界领先的显示器之一 液晶显示器制造商 由拥有超过1996年研发和生产经验的高管于25年创立。 除了显示,东方显示还专注于包括ARM架构在内的嵌入式技术,积累了丰富的嵌入式产品经验。

现在东方显示技术服务包括硬件、软件和咨询。

 

我们的 硬件团队 根据您的设计思路和要求,在最短的时间内制作原型。 我们专注于设计高性价比或复杂的高性能板卡,在较短的开发周期内满足您对高可靠性的要求。

- 原理图设计

– PCB 布局

– 行业产品定制

 

我们的 软件团队 专注于基于 Linux 的 ARM® 设计PowerPC 和 x86 处理器,仅举几例. 作为嵌入式系统中Linux、Android和WinCE的完整解决方案提供商,我们可以解决您产品端到端的系统相关问题。

– 系统迁移、优化和裁剪

– 推动发展

– 内核裁剪

– 将 LINUX 内核移植到 ARM、PPC 或 x86 板

– APP开发(应用、Linux QT、Linux C/++)

 

我们的 FAE 团队 还为您的产品或半成品提供全方位的技术。

– 我们提供产品软硬件资源的咨询;

– 我们解决在使用我们产品的软硬件手册过程中遇到的问题;

– OEM和ODM售后技术支持;

– 数据维护和更新;

– Orient Display 产品由我们提供支持 最低价格保证.

 

开发顺序

 

1. 系统需求分析

* 设计任务、目标、规格

– 这是由我们的客户提供的

* 功能性和非功能性需求

– 包括系统性能、成本、功耗、体积、重量等因素

 

2. 架构设计

一个好的架构是设计成功的关键。 在这一步中,往往需要做以下几件事:

  • 选择主芯片:

— ARM Cortex A、R 或 M,或 PowerPc 或 ColdFire

  • 确定实时操作系统:

— Linux、uClinux、Vxworks、freeRTOS、WinCE

  • 选择显示:

- TFT面板, 阳光下可读的TFT, 液晶玻璃面板, 图形液晶,  OLED显示屏, 触控面板, 嵌入式液晶显示器 or 定制展示 by 东方显示

  • 编程语言:

— c/c++、python、Java

  • 开发工具:

u-boot、busybox、QT、Ubuntu、stm32CubeIde、visual studio、android studio、keil uVision、RT-Tread studio

 

3. 软硬件协同设计

为了缩短产品开发周期:

硬件:  我们通常从评估板开始项目,例如 orient display AIY-A002M, AIY-A003MAIY-A005M. 稍后将定制板以适合项目,丢弃不需要的部分。

软件开发顺序:

  • 我们通常选择 u-boot 作为 Bootloader,它 1) 将 cpu 初始化为已知状态 2) 初始化内存 3) 初始化中断 4) 初始化时钟 5) 加载内核到运行地址
  • 配置内核:

1) 配置内核系统:*内存管理、*文件系统、*设备驱动程序、*网络堆栈、*I/O系统

2)编写I/O设备驱动*char设备驱动,*块设备驱动,*net设备驱动

  • 选择应用:

*选择用户库 *构建用户应用程序 *配置初始化过程 *构建根FS

 

4。 小号系统集成

将系统的软件、硬件和执行设备集成在一起,调试、发现和改进单元设计过程中的错误。

 

5. 系统测试

测试设计的系统,看它是否满足规范中给出的功能要求。 嵌入式系统开发模式的最大特点是软硬件综合开发。

 

在结论

Orient Display 拥有一支由才华横溢的专家组成的了不起的团队,他们拥有从概念到生产创建嵌入式显示模块的经验和能力。

如果您有任何问题,请联系我们的工程师: tech@orientdisplay.com。

如何选择ARM处理器

如何选择ARM处理器

介绍

范围最广 微处理器 几乎所有应用市场的核心。 探索 ARM. 对于几乎所有应用市场的性能、功率和成本要求,处理器都至关重要。 系统性能在很大程度上取决于其硬件; 本文将引导您完成对 ARM 处理器的研究,并对您的决策有很大帮助。

 

ARM 简介

图 1. ARM 处理器路线图

 

2003年之前,经典的ARM处理器有ARM7(ARMv4 Architecture)、ARM9(ARMv5 Architecture)、ARM11(ARMv6 Architecture)。 ARM7没有MMU(内存管理单元),不能运行Linux、WinCE等多用户多进程系统。 只能运行不需要MMU的系统如ucOS和ucLinux。 ARM9和ARM11是带有MMU的嵌入式CPU,可以运行Linux。

2003年以后,说到ARMv7架构,以Cortex命名,分为三个系列: Cortex-A、Cortex-R 和 Cortex-M。

  • 皮质A — 用于性能密集型系统的应用处理器内核
  • 皮质 – 用于实时应用的高性能内核
  • 皮质M – 适用于各种嵌入式应用的微控制器内核

简单地说, 皮质A 系列适​​用于对计算要求高、运行丰富的操作系统、提供交互式媒体和图形体验的应用程序。 皮质 适用于需要可靠性、高可用性、容错性、可维护性和实时响应的应用。 皮质M 系列针对成本和功耗敏感的 MCU 和终端应用。

 

Cortex-A VS Cortex-R VS Cortex-M

皮质A

Cortex-A 类处理器专用于 Linux 和 Android 设备。 Cortex-A 处理器可以支持任何设备——从智能手表和平板电脑到网络设备。

  • Cortex-A 处理器(A5、A7、A8、A9、A12、A15 和 A17)基于 ARMv7-A 架构
  • A 处理器的一组通用功能包括媒体处理引擎 (NEON)、用于安全目的的工具 (Trustzone) 以及各种支持的指令集(ARM、Thumb、DSP 等)。
  • Cortex-A 处理器的主要特点是顶级性能和出色的电源效率紧密捆绑在一起,为用户提供尽可能最好的服务

Cortex-A处理器的主要特点:

Cortex-A5的:Cortex A5 是 Cortex A 系列中体积最小、功耗最低的成员,但仍能展现多核性能,兼容 A9 和 A15 处理器。

Cortex-A7的:A7的功耗和A5差不多,但A7提供的性能比A20高5%,并且与Cortex-A15和Cortex-A17的架构完全兼容。 Cortex-A7 是成本敏感型智能手机和平板电脑实施的理想选择。

Contrex-A15: Cortex-A15 是该系列中性能最高的成员,性能是 A9 的两倍。 A15 可应用于高端设备、低功耗服务器和无线基础设施。 这是第一个支持数据管理和虚拟环境解决方案的处理器。

Contrex-A17: Cortex-A17 的性能比 A60 高 9%。 主要目标是满足高端设备的需求。

Contrex-A50:Contrex-A50 是最新系列,基于 ARMv8 架构构建,并支持 Arch64 位节能系统。 转向 64 位的一个明显原因是支持超过 4GB 的物理内存,这在 Cortex-A15 和 Cortex-A7 上已经实现。

 

皮质

Cortex-R 处理器面向高性能实时应用,如硬盘控制器、网络设备媒体播放器和其他类似设备,此外,它还对汽车行业如安全气囊、制动系统和发动机管理等提供了极大的支持。

皮质-R4:  Cortex-R4 非常适合汽车应用。 它的时钟频率最高可达 600 MHz,具有带双发出、预取和低延迟中断系统的 8 级流水线,使其成为安全关键系统的理想选择。

皮质-R5: Cortex-R5 扩展了 R4 提供的功能,增加了效率、可靠性和错误管理。 双核实现可以构建非常强大、灵活的实时响应系统。

皮质-R7: Cortex-R7 显着扩展了性能。 它们具有 11 级流水线,支持无序执行和高级分支预测。 可以为锁步、对称和非对称多处理实现工具。 通用中断控制器是另一个值得一提的重要特性。

 

皮质M

Cortex-M 专门针对 MCU 市场而设计。 Cortex-M 系列建立在 ARMv7-M 架构上(用于 Cortex-M3 和 Cortex-M4),较小的 Cortex-M0+ 建立在 ARMv6-M 架构上。 可以肯定地说,Cortex-M 已成为 32 位世界的 8051 之于 8 位——许多供应商提供的行业标准内核。 例如,Cortex-M 系列可以作为 FPGA 中的软核实现,但更常见的是将它们实现为具有集成存储器、时钟和外设的 MCU。 有些针对能源效率进行了优化,有些针对高性能,有些针对特定细分市场(例如智能计量)量身定制

对于对成本特别敏感或从 8 位迁移到 32 位的应用程序,Cortex-M 系列中最小的成员可能是最佳选择。

皮质-M0: Cortex-M0+ 使用 Thumb-2 指令集并具有 2 级流水线。 重要的特性是单周期 GPIO 总线和微跟踪缓冲器。

皮质-M3&M4:  Cortex-M3 和 Cortex-M4 是非常相似的内核。 每个都提供一个 3 级流水线、多个 32 位总线、高达 200 MHz 的时钟速度和非常有效的调试选项。 显着的区别在于 Cortex-M4 内核的 D​​SP 功能。 Cortex-M3 和 Cortex-M4 共享相同的架构和指令集 (Thumb-2)。 如果您的应用程序需要浮点数学运算,那么在 Cortex-M4 上完成此操作的速度将比在 Cortex-M3 上快得多。 也就是说,对于不使用 Cortex-M4 的 DSP 或 FPU 功能的应用程序,您将在 Cortex-M3 上看到相同级别的性能和功耗。 换句话说,如果您需要 DSP 功能,请使用 Cortex-M4。 否则,Cortex-M3 将完成这项工作。

 

总结

图 2. 皮质概览

 

ARM 处理器为不同的目的提供了多种功能。 通过一点思考和调查,您将能够找到适合您的应用程序需求的正确处理器。 无论是用于高端平板电脑还是超低成本无线传感器节点。

正确选择 Cortex 内核并将想法变为现实是一项挑战。 但是经验丰富的专业团队可以处理所有问题并实施任何复杂的概念。

东方显示多年来专注于ARM处理器相关技术,积累了丰富的ARM架构产品开发和实现经验。 在不断推出满足市场普遍需求的开发平台和核心板的同时,也针对客户的个性化项目需求。 提供定制化服务。

我们的硬件团队可以根据您的设计思路和需求,在最短的时间内制作出原型。 我们的软件团队可以帮助您自定义切割驱动层的所有功能。

联系我们 我们将帮助您制定从最初的想法到最终产品的计划。

如何在树莓派上使用图形 LCD 显示器?

如何将图形 LCD 连接到 Raspberry PI?

文章显示 如何连接 128×64 图形液晶显示Raspberry Pi的.

使用的 LCD 是 128×64,带有 ST7565 的 LCD 控制器。 它可以直接从 Raspberry Pi 3.3V 轨供电. 它需要 5 个 GPIO 引脚用于数据。

原理图是,CS(芯片选择)、RST(复位)和 A0(寄存器选择)可以连接到任意 3 个 GPIO 引脚。 在本例中,8,24 和 25 是默认值。 实例化 ST7565 Python 类时,可以指定不同的值作为参数。 GLCD 上的 SCLK(串行时钟)进入 GPIO 11,这是 Pi 的串行时钟。 GLCD 上的 SID(串行输入数据)转到 Pi 上的 GPIO 10,即 MOSI。 GPIO 10 和 11 必须用于 SID 和 SCLK。 Vdd 连接到 PI 上的 3.3V 引脚,并且接地。

LCD具有RGB背光. LED 引脚可以转到 GPIO 的 16,20 和 21。要控制来自 Pi 的颜色,请在实例化 ST7565 类时指定 RGB 引脚。 电阻器必须串联放置以限制电流以防止 LED 击穿。 LED 亮度可以通过使用不同值的电阻来改变。 最好将电流调整在20mA左右,当然,不同的值会导致不同的颜色混合。 混合纯白色是非常困难的。 请仔细计算电阻值,在40mA时,LED亮度会随时间急剧下降,接近60mA时,LED可能会被击穿并永久损坏。

如何对图形 LCD 进行编程?

显示器为水平 128 像素,垂直 64 像素。 LCD可以分成8个水平页面. 它们的编号从 3 到 0,从 7 到 4,从上到下。 每页包括 128 列和 8 行像素。 要对像素进行寻​​址,请指定页码和列号,然后发送一个字节以一次填充 8 个垂直像素。

显示器有SPI (串行外设接口) 连接到 Pi. SPI 需要 3 线 MOSI、MISO 和时钟。 Pi 是主机,GLCD 是从机。 在这个例子中,只写入 GLCD 而没有准备好,所以需要连接到 MOSI 和时钟线。 MOSI 是从 Pi 到 GLCD 的输出,时钟同步时序。

  1. 在树莓派上启用 SPI 第一
  2. 从 raspi-config 菜单中,选择高级选项,然后选择 SPI。 然后为“Would like the SPI interface to be enabled”选择Yes。 点击确定,重启。 为“默认加载的SPI内核模块”选择是。 启用 SPI 后重新启动 Pi。 然后使用 Ismod 测试 SPI它应该根据 Pi 版本返回 SPI_bcm2708 或 spi_bcm2835。 python SPI 库需要 python2.7 dev,可以通过 apt-get install 安装:
  3. 这款 Python SPI 库 叫做 pyspidev。 可以使用 git:GLCD 安装 Pi 的 Python 库可以从 GitHub 站点下载.
  4. 主要的 ST7565 库 (st7565.py) 处理绘图、文本和位图,以及加载 X-GLCD 字体的字体模块 (xglcd_font.py)。 以下是创建点、线、矩形、圆、椭圆和正多边形的基本绘图命令:有关详细信息,请参阅下面的参考或 联系我们的工程师.

使用 STM32CubeIDE 开始基于 STM071G32RB Board 的项目

使用 STM32CubeIDE 开始基于 STM071G32RB Board 的项目

看看我们的 控制板!

开始使用基于 32 位 ARM 的微控制器总是有点令人生畏。 可用的微控制器、平台、开发板、工具和软件太多了。 本笔记逐步介绍如何开始 LED 项目。

入门:关于开发板STM32G071RB

特色:

  • 核心:Arm® 32 位 Cortex®-M0+ CPU,频率高达 64 MHz
  • 高达 128 KB 的闪存,36 KB 的 SRAM
  • 具有灵活映射的 7 通道 DMA 控制器
  • 12 位、0.4 µs ADC(最多 16 个外部通道)
  • 两个 12 位 DAC,低功耗采样保持
  • 两个 I2C,四个 USART,一个低功耗 UART,两个 SPI

 

入门:安装STM32CubeIDE

您可以下载 STM32CubeIDE 来自他们的 st.com。 免费。 安装STM32CubeIDE如下 STM32CubeIDE 安装指南。

 

您的第一个项目:LED 闪烁

在开始编写代码之前,我们需要创建一个项目。 这与大多数其他 IDE 类似 - 项目用于将您的所有设置、代码和定义捆绑到一个集合中,所有这些都由同一应用程序管理。

 

 

STEP 1: 开始一个新项目,从左上角的图标(或者在菜单 File > New > STM32 Project 下)开始。

 

第二步:项目名称:G2_LED,然后点击Finish按钮。

从原理图可以看出LED4由STM32G071控制,端口为PA5。

步骤 3:从 System Core > SYS,选择 Serial Wire,将 PA5 设置为 GPIO_OUTPUT。

将 PA5 的使用标签设置为 LED_GREEN,如下所示:

 

第 4 步:然后生成代码。

 

开发此功能的 CubeIDE 在 Src 目录下生成要使用的 C 文件,并将 HAL(硬件抽象层)放入 Includes 目录中。 CubeIDE 的工作方式似乎完全相同。 展开项目视图下右侧的文件夹,看看它为您生成了什么。

 

 

第 5 步:现在让我们添加一点我们自己的 C 代码吧! 在无限循环区域之后,我们将添加代码来切换第 3 部分下的 LED,如下所示:

 

 

编译项目并下载到开发板

实际上,STM32CubeIDE 可以很容易地编译我们的工作并将其放到 STM32 芯片上。 第一步是生成编译后的 .elf(我们代码的二进制版本)。 要生成 .elf,我们需要进行构建。 这就像按下工具栏上的构建按钮一样简单。

现在,构建信息显示在屏幕底部的控制台中。

现在我们要做的是将这个编译好的二进制文件发送到 STM32 微控制器上。

让我们插入开发工具包:

红色电源 LED(蓝色开关左侧)亮起,较大的通信 LED(通过 USB 电缆)也亮起。 在 STM32CubeIDE 中,选择运行按钮。

这将打开运行对话框(因为这是我们第一次运行它)。 我们现在选择的设置将保存为运行配置,我们可以在以后重新使用或编辑。

只需按应用然后确定,下载就会继续。 控制台现在将填充一些有趣的文本:

LED 每 500 毫秒打开和关闭一次。 你已经准备好了一切。