泰山派 官方教程 记录

第一课:

1 活动奖励, 荣誉证书+结业证书+ 奖品(京东E卡+周边+证书+新开发板)。

2 元器件券+彩色丝印+3D打印+面板打印(这个是什么呢?

3 必须使用  专业版 立创eda

4 训练营报名流程 , 在报名的过程中会创建一个 eda 工程。

5 完善工程的开源信息。

第二课:

第三课:

第四课:

第五课:

第六课:

       1 首先画一个 转接板,然后直接下单。

        2 然后移植驱动,瑞芯微内核自带了 gt9xx 驱动。

                          1  gt9xx 驱动也适用于 gt9271

                           2  在i2c 接口去配置设备树,可以参考别人的驱动,也可以参考驱动的内容,也

                           可以去参考dtbindings .

                           3  在驱动文件里还可以设置触摸的范围,但是我觉得这个在设备树中应该也是可

                               以 设置的。

                            4 在保存 menuconfig 的时候,使用的是 saveconfig 还是挺新颖的。我一般是 cp                              .config .

                        

         3  写一个自己的驱动,拔掉触摸线,来模拟驱动。拿到触摸芯片的数据手册,然后,看一看寄存器。但是由于这是一个模拟的触摸,所以也不需要了解寄存器,直接 report 就可以了。

                        1 设置makefile config ,  obj-y  obg-m, 还有一个obj-n ,去掉驱动,这个还不知

                            道。        

                        2 触摸= i2c子系统+input子系统,这个可以参考正点原子的。

                        3 android 的 read filesystem 需要 adb root & adb remount

                        4  在驱动中如何 打印行数。这函数还是挺厉害的。

                      

printk(KERN_DEBUG"%s %s %d\n", __FILE__, __FUNCTION__, __LINE__);
//__FILE__:    表示文件路径
//__FUNCTION__: 表示函数名
//__LINE__:    表示代码位于第几行
//KERN_DEBUG:   等于7,表示打印级别为7

                      5  input 里面可以模拟成鼠标设备,那么键盘设备肯定也是可以的。

                      6 i2c_set_clientdata --->dev_set_drvdata  函数是为了 之后使用 i2c_get_clientdata

                           得到自己设置的结构体。

                      7   他最后还是自己写了一个 真实的触摸驱动,这里需要注意, x , y 坐标的翻转,

                          以及 x 坐标的翻转在驱动中如何实现。这里再触发中断之后需要清一下寄存器

                           ,否则会一直出发中断。

                      8  适配触摸屏的流程, 首先是 reset 时序,想不到reset 还有时序,然后是 设置i2c

                            地址, 然后是读取版本号。

                      9 学会使用逻辑分析仪,还可以解码,不用手动去算发送的什么命令。

                       10 在android 系统中,getevent , i2cdetect 可以直接在 shell 里面运行。

        

第七课:

               1 画 触摸屏模组的转接板原理图

                        1 将泰山派的屏幕背光部分 ,转移到转接板上了。

                        2 i2c 来控制 pwm

                        3 芯片的原理图需要参考 数据手册中的典型电路,但是 电容、电阻的阻值如何确定呢?

                        4 画完电路之后,对电路的验证是什么样的呢?

                        5 进行drc 检验

                2 画 触摸屏模组的转接板PCB

                        1 更新到pcb

                        2 下载并导入结构文件。

                        3 设置DXF文件 到 板框层,里面的结构改成 文档层,然后清除错误,

                        4 叠层阻抗设计(只有4层才有阻抗,2层没有),设置规则,参考mipi 信号的阻抗要求。

                        5 先暂时关闭地+VCC的网络,布局传递可以选中一堆元器件,设置栅格尺寸可以对齐,电容比电阻重要,交叉连线可以在原理图与PCB中来回查看。

                        6 锁定结构件,叠层设计位4层,首先画差分对,包地处理(要在地线打过孔),

对内+对与对都要做等长处理,所有的地都要打过孔,

      

### 泰山 SPI 实现机制 #### 背景介绍 “泰山 游戏掌机”是一款专注于高性能与低功耗的嵌入式设备[^1]。其硬件架构中集成了多种外设接口,其中包括串行外设接口(Serial Peripheral Interface, SPI)。SPI 是一种同步串行通信协议,广泛应用于微控制器与其他外围设备之间的数据传输。 #### SPI 的基本原理 SPI 协议通过四条主要信号线实现主机与从机间的高效通信: - **MOSI (Master Out Slave In)**:主机发送到从机的数据通道。 - **MISO (Master In Slave Out)**:从机发送到主机的数据通道。 - **SCLK (Serial Clock)**:由主机产生的时钟信号,用于同步数据传输。 - **SS/CS (Slave Select/Chip Select)**:选通特定从设备的控制信号。 在“泰山 游戏掌机”的设计中,SPI 接口被用来连接诸如存储器、传感器以及其他外部组件,从而增强系统的功能性和灵活性。 #### 泰山 SPI 的实现细节 以下是关于“泰山 游戏掌机”中 SPI 实现的关键技术要点: ##### 1. 硬件配置 “泰山 游戏掌机”采用了一种高度可配置的 SPI 控制器,允许开发者调整波特率、时钟极性(CPOL)、时钟相位(CPHA)以及数据位宽等参数。这种灵活的设计使得 SPI 可以适配不同类型的外设需求。 ##### 2. 数据传输模式 支持全双工、半双工两种操作模式。具体而言,在全双工模式下,主机可以同时向从机写入数据并读取来自从机的信息;而在半双工模式中,则仅能单方向传递数据流。 ##### 3. 中断驱动模型 为了提高效率,“泰山 游戏掌机”的 SPI 驱动程序基于中断机制构建。当完成一次数据帧的收发动作后,会触发相应的中断事件通知 CPU 进行进一步处理。 ##### 4. DMA 支持 对于大数据量的应用场景,引入了直接内存访问(Direct Memory Access, DMA)来减少处理器负担。DMA 技术能够独于 CPU 完成批量数据搬运任务,显著提升吞吐性能。 ```c // 示例代码展示如何初始化 SPI 设备 void spi_init(SPI_HandleTypeDef *hspi) { hspi->Instance = SPI1; // 使用 SPI1 外设实例 hspi->Init.Mode = SPI_MODE_MASTER; hspi->Init.Direction = SPI_DIRECTION_2LINES; hspi->Init.DataSize = SPI_DATASIZE_8BIT; hspi->Init.CLKPolarity = SPI_POLARITY_LOW; hspi->Init.CLKPhase = SPI_PHASE_1EDGE; hspi->Init.NSS = SPI_NSS_SOFT; hspi->Init.BaudRatePrescaler= SPI_BAUDRATEPRESCALER_2; HAL_SPI_Init(hspi); // 初始化 SPI 模块 } ``` 上述代码片段展示了针对 STM32 微控制器系列的一个典型 SPI 初始设置过程。实际应用过程中可能还需要考虑更多定制化选项以满足特殊业务逻辑的要求。 #### 总结 综上所述,“泰山 游戏掌机”中的 SPI 功能模块不仅提供了基础的数据交换能力,还融入了许多先进的特性如 DMA 和中断管理,极大地优化了整体系统表现。这些精心设计的选择共同保障了最终产品的竞争力和用户体验质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值