您尚未登录。

#3 Re: ESP32/ESP8266 » esp8266+arduino+modbus开发 » 2024-01-30 00:14:52

ai代码如下

#include <Arduino.h>

#define SLAVE_ID 15
#define BAUDRATE 2400
#define TIMEOUT 1000
#define TX_ENABLE_PIN  4

// MODBUS function codes
#define READ_HOLDING_REGISTERS 0x03

// Registers addresses
#define ADDR_ENERGY 0x0000
#define ADDR_VOLTAGE 0x0300
#define ADDR_CURRENT 0x0303
#define ADDR_POWER 0x0306

// Registers lengths
#define LEN_ENERGY 2
#define LEN_VOLTAGE 1
#define LEN_CURRENT 1
#define LEN_POWER 1

void setup() {
  Serial.begin(BAUDRATE, SERIAL_8E1); // 偶校验
  pinMode(TX_ENABLE_PIN, OUTPUT);
}

void loop() {
  float energy = readRegister(ADDR_ENERGY, LEN_ENERGY) * 0.01; // kWh
  float voltage = readRegister(ADDR_VOLTAGE, LEN_VOLTAGE) * 0.1; // V
  float current = readRegister(ADDR_CURRENT, LEN_CURRENT) * 0.01; // A
  float power = readRegister(ADDR_POWER, LEN_POWER) * 0.01; // kW

  if (current > 1.0) {
    digitalWrite(TX_ENABLE_PIN, HIGH);
  } else {
    digitalWrite(TX_ENABLE_PIN, LOW);
  }

  // 延时一段时间后再次读取
  delay(5000);
}

long readRegister(unsigned int addr, unsigned char len) {
  unsigned char buf[8];
  buf[0] = SLAVE_ID; // Slave Address
  buf[1] = READ_HOLDING_REGISTERS; // Function Code
  buf[2] = highByte(addr); // Starting Address High
  buf[3] = lowByte(addr);  // Starting Address Low
  buf[4] = 0x00;          // Number of Registers High
  buf[5] = len;           // Number of Registers Low
  unsigned int crc = calculateCRC(buf, 6);
  buf[6] = lowByte(crc);  // CRC Low
  buf[7] = highByte(crc); // CRC High

  sendRequest(buf, 8);
  delay(100);

  if (Serial.available()) {
    // Read the response
    // TODO: Add code to parse the response
  }

  return 0; // Placeholder for actual value
}

void sendRequest(unsigned char *packet, unsigned char packetLength) {
  digitalWrite(TX_ENABLE_PIN, HIGH);
  for (unsigned char i = 0; i < packetLength; i++) {
    Serial.write(packet[i]);
  }
  Serial.flush();
  digitalWrite(TX_ENABLE_PIN, LOW);
}

unsigned int calculateCRC(unsigned char *buf, unsigned char len) {
  unsigned int crc = 0xFFFF;
  for (unsigned int pos = 0; pos < len; pos++) {
    crc ^= (unsigned int)buf[pos];
    for (int i = 8; i != 0; i--) {
      if ((crc & 0x0001) != 0) {
        crc >>= 1;
        crc ^= 0xA001;
      } else {
        crc >>= 1;
      }
    }
  }
  return crc;
}

#4 Re: ESP32/ESP8266 » esp8266+arduino+modbus开发 » 2024-01-30 00:10:11

我也是要读这个电表,真是太tmd坎坷了。
本来用的天问的asrpro模块,想着它带喇叭可以语音说话,我想做个当电流超多少时自动语音报警(因为家里是速热热水器,开起来最大到32A,我限制了水流到20A,家里总断路器才32A的,如果这时候烧水或是干啥容易超电流跳闸,我自己会注意,家人不太懂电这东西),结果他们的芯片有问题,偶校验2400波特率走modbus模块,发送数据是正常的,但收数据就是大概率误码,如果我读电量,电流电压功率,大概率电压能读出来,如果我只读电压,是一次正确一次误码。后来测试自收自发还误码,真狗,浪费了2天休息日的大好时光。然后图省事,试了试手里的arduino nano,和nodemcu8266,但都是只有一个串口,没法看调试信息,后来用nano那一个串口测试,和esp8266测试,都是用的arduino,也是不行,真狗,这两个模块用示波器测了下,原来是rx脚被板载USB串口芯片的tx拉高了,果断把nano上的ch340焊下来。果然好了,太tm坎坷了。
代码我是直接对AI提的编程需求,粘上就能用。问法如下。我的硬件是Arduino Nano。我需要使用串口以MODBUS RTU协议读取电表的电压 电流 功率 电量。电量的地址是0x0000,数据长度为2。电压的地址是0x0300,数据长度为1。电流的地址是0x0303,数据长度为1。功率的地址是0x0306,数据长度为1。modbus的读参量用03H号命令。电表的modbus地址为15。电量数据是高位在前,低位在后,若读出值为0012D687H(1234567),则电能计量值为 1234567×0.01=12345.67kWh。电能表中所测电压值固定为 1 位小数,数据格式为 XXX.X,单位为 V,若通讯读出,电压值为 0897H(2199),则电压的实际值为 219.9V;所测电流值固定为 2 位小数数据格式为 XXX.XX,单位 A,若通讯读出电流值为 0096H(150), 则电流的实际值为 1.50A。电能表的有功率值固定为 2 位小数,数据格式为 XXX.XX,单位为 kW, 若通讯读出有功功
率值为 0020H(32),则有功率的实际值为 0.32kW。 帮我写出对应功能的arduino程序。 调试信息不打印。注意,接电表的串口使用偶校验。当电流大于1A时,控制4脚输出高,低于1A时输出低。请不要使用modbus库,请使用代码实现modbus的发送及接收。

#5 Re: RK3288/RK3399/RK1108 » 打算DIY一个类似于DJI ACTION2的小相机,想要用RV1106,可行嘛 » 2023-07-09 23:01:52

咸鱼199买了片Python5000,这是500万全局快门的sensor。
使用spi初始化确实lvds引脚有输出。
打算用agm采集,做个大相机

#8 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 沁恒ch565w测试 USB3.0速度和千兆以太网速度 » 2022-09-28 18:09:07

david 说:
aozima 说:

感觉搭配FPGA类的来使用就很赞!

这芯片天生内存不足 靠fpga怎么搞

这只是接口芯片,3.8G的高速hspi与fpga连,直接DMA到USB3.0。
千兆网口,fpga可以直接外扩phy吧,如果图省事,用dma到千兆也不是不行

#9 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 沁恒ch565w测试 USB3.0速度和千兆以太网速度 » 2022-09-27 07:31:22

另外,提一句,QFN的封装,能跑的io速度比lqfp要快,
因为芯片内部引线短,引脚短。
一些小射频芯片都是qfn封装的。

#10 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 沁恒ch565w测试 USB3.0速度和千兆以太网速度 » 2022-09-27 07:30:00

迪卡
回复: 18

IMG20220926194507.jpg
目前使用例程测试,USB3.0速度252MB/s,
-6d88e4b1d41b578d.jpg

千兆以太网的例程有点狗,是用循环,一个字节一个字节做的收发,速度只能到500KB/S,
等有空了做下dma测试

#12 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-12 13:06:53

Quotation 说:

中间这些器件用锡焊确实有风险。封装起来之后,不知道用户会用多高的温度焊。长时间高温焊接,内部的锡融化流走的几率还比较大。

这就得靠封胶来保证锡不乱跑了,
焊锡连接处用软胶,顶盖盖用硬胶,😂
全用硬胶,不是有人说会爆锡嘛

#14 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 辣鸡向日葵,花了9元买了一个月的会员,却什么都干不了。我现在自己动手,用FRP这个优秀的开源软件把内网穿透搭起来了 » 2022-09-07 13:13:38

最好的办法就是用向日葵,
向日葵的用途是去开启FRP,
然后使用微软自带APP去远程,
当你用完后,关闭frp.

因为FRP长期开着不安全,容易被破。

如果你怕一个向日葵掉线等问题,那么你就开两个,比如各种desk

#16 Re: 全志 SOC » DKTool工具BUG提交汇总 » 2022-09-04 22:08:19

DEQ 说:

大神,我的芒果派上的SPI FLASH型号是GD5F1GQ5UEYIG,是1Gb SLC NAND Flash,有办法下载吗

没办法这个看起来是spi nand,还不支持的,你可以尝试用模拟U盘的功能,看看能不能成功,那个是晕哥的大招

#17 Re: Cortex M0/M3/M4/M7 » zkteco打磨片型号求助 » 2022-09-03 22:32:33

中控的刷卡机之前厂家给我远程调试过,跑的Linux,重启时印象uboot显示mips处理器

#18 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-03 11:06:01

aozima 说:

前排参与
厚膜电路,换个说法不就是把模块打上封装胶么?

到时候大佬给移植个RTT SMART。:D

#19 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-03 11:03:29

@海石生风
我这个确实也算核心板,因为没用用裸片,
所以叫土家造,手搓SIP芯片,
因为体积小,和芯片一样大(对比RK3399),所以我叫芯片。
封装好后,外围器件,如晶振、电源、阻容等不外露,都封起来。

除了厚点,看起来也像个芯片。哈哈哈哈哈哈。
土家造的乐趣。
如果成了,我倒是还想写一份数据手册,使用手册,
有时间的话还能适配一套代码,甚至开发一套VSCode的插件,把VSCode作为开发工具,以及flash烧写工具。
完完全全变成一个新的芯片

假如说售价的话,那应该会和淘宝卖的核心板差不多,甚至便宜些,体积还小的多。

#20 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-03 10:57:07

dykxjh 说:

我说的就是裸片+绑定+封胶,不知道全志是否提供裸片?另外绑定和封胶也需要专门的厂吧,还是贴片厂也有绑定和封胶业务?

如果你是公司,想专门左全志的封装,应该会提供裸片的,毕竟X3 AIC800G3都是全志系的其他公司去做的。

#21 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-02 18:03:11

@海石生风
个人去做,当然用不起裸片,大批量用裸片才有有优势

#22 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-02 18:02:13

阿黄 说:

感觉比核心板小不了多少吧,现在核心板芯片之间的距离也不大,如果要再减小距离,板子层数估计得到6-8层。按图上的叠放方式,还可能需要盲埋孔吧,那价格不得起飞?

就是采用叠层的方式,目前设计的厚度是5mm,大小22*22

#23 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-09-02 18:01:14

yobbo 说:
迪卡 说:

用裸片工艺要求高,贵得很

这种只做过裸片+绑定+封胶;如果用锡焊接,会非常容易导致加热爆锡,即使采用真空灌胶也会爆(也可能是当时的工艺问题,10年左右搞过);裸片+绑定+封胶 稳定量产

你说的爆锡问题,是因为锡的热胀冷缩吧,被封在里面,一热就涨了,就爆了,是吗?
那我做通气的就好了。

#25 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-08-27 08:04:01

底部焊盘用LGA,
如果引脚数少,就直接最外圈一圈,将板子上焊盘拉长烙铁也能焊,
如果引脚数多,就往内部走,
参考这个图IMG_20220827_080136.jpg

#26 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 土家造-手搓sip芯片 » 2022-08-26 12:44:08

迪卡
回复: 38

越来越多的人喜欢sip内存的片子,
但是晶元级别sip工艺比较贵,开个案要100万,
比如sip 晶振,ddr,电源等。

那我们来手搓一个SIP的片子如何?
-17fc23f55f78d1bd.jpg

这是画的大概结构。
这样手搓出来的片子其实就是核心模块,
内置了晶振,电源,ddr,emmc等。
这样会比一般的核心板要小很多,
有人可能考虑发热,那么加个3块钱的铜散热片吧

#27 Re: PikaPython(嵌入式Python引擎) » PikaScript v1.10.0 发布!性能提升 78% » 2022-08-07 22:33:27

大佬有做个io翻转测试吗?
比如用c语言,翻转几万次用多长时间,
用pika,翻转几万次用多长时间,
用lua,翻转几万次用多长时间 。

#28 Re: PikaPython(嵌入式Python引擎) » PikaScript v1.10.0 发布!性能提升 78% » 2022-08-07 22:23:52

刚有粗略仔细的看了下介绍,已经并入rtt软件包了,
真牛。
ch32v307准备玩这个呀。
跑rtt+pika。
传脚本就用网口吧,
我有条件可以写个上位机

#32 Re: 全志 SOC » T113-S3 RT-Thread SMP适配笔记 » 2022-07-27 07:59:29

a7跑rtos应该比单片机快吧,毕竟1ghz,
这个好

#34 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 【众人拾柴】DIY项目列表 » 2022-07-25 17:15:38

Meekdai 说:

最近看到这个开源项目挺不错的
https://github.com/scottbez1/smartknob

志辉那个FOC嘛,一样的功能。
考虑再加一块屏幕

#35 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 【众人拾柴】DIY项目列表 » 2022-07-25 12:43:22

1.PDA手持机
之前考虑是用f1c200s做,当时是看中了芯片便宜,才12.5元。
现在贵了,也就没动力做了,而且资源也不丰富,
引脚紧缺,跑Linux可玩的东西,内存64MB太小,USB不能接hub的缺陷严重,
结构有些复杂。
种种原因,一直处于鸽的状态。
若是用A133 4G做PDA,可玩性就比较高了,也不用担心资源问题。
价格还不算太贵,最小系统140块的样子。



2.家用智能屏
样式最好是相框的形式,可以挂在墙上,
通过感知人是否在家,来将结婚照片或名画等循环显示。
还可以做语音交互的东西,
天气,情况,
地图路线,
语音定闹钟提醒,日历事件提醒,大事件新闻提醒等等。

这个也用A133+4G来做应该也够用的

#36 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 【众人拾柴】DIY项目列表 » 2022-07-25 12:35:38

迪卡
回复: 8

业余时间,是不是想做点好玩的东西,
但是不知道做啥,
或是知道做啥,但由于太菜,不知道怎么做。

大家可以把自己想做的东西写一下,
谁看着好玩可以做着玩。😁

#37 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-20 12:57:55

@LinjieGuo
将主机部分和从机部分封装成一个模块。
【主机模块】
将连接主机的CPLD做成一个小模块,接口引脚如下:
VCC--供电
GND

SPI-MOSI--SPI接口
SPI-MISO
SPI-CLK
SPI-CS

A--差分收发接口
B
Y
Z

#38 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-19 21:48:09

bf17a44ca6a9711dd2e93423cb844b6.png
这个电路是我比较倾向的。
在上电时,MUX都会打到终端电阻位置,
这样只有离CPU单元最近的模块能被访问到,就可以依次进行地址赋值。

#40 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-17 11:30:21

wurst 说:

以前做个类似的产品,主模块+N个扩展模块。采用SPI+N个片选。每个模块内置总线驱动器,片选采用递推方式,自动自增。

多谢大佬分享。

#41 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-16 21:47:59

优化掉了时钟线,目前只剩4根了
TX+
TX-
RX+
RX-
和以太网一样,
soc可以默认spi接收的第1和第2个字节不要,这段时间用来等到从机响应时间。
假如从机这时候有数据到cpld,先存在fifo里,也不需要多大两个字节就够了。
当第3个字节的时钟到来时,cpld给spi吐出的数据就从fifo里取。

#42 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-16 20:24:15

NRZI编码加上4b/5b编码的方式,将时钟与信号合并在一条差分线中传输。
发送和接收共使用4根线。
这....感觉像是自己DIY一套以太网了。

还是有个问题,cpld之间数据可以高速收发了,
cpld与soc之间不太好整

#43 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-16 20:19:50

NRZI编码加上4b/5b的方式,将时钟与信号合并在一条差分线中传输。

通过研究了解了USB和以太网的一些知识。

这是又想手撸一套以太网😂

#45 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-14 08:50:25

david 说:
迪卡 说:

大家还有什么建议和想法?这周我再总结一下,画下改进后的【迪卡总线】
已了解台达plc用的spi,已了解西门子背板总线用的无cs的spi,即全双工i2c。

你这距离要多远 多高的速率 延迟啥要求

前面说了个大概,最远距离半米吧,上面挂接多个从设备。

速率需求就是主机发出控制某个IO的命令或是读取某个IO的状态,时间小于1us吧,先这样暂时定一个。
假设读取一个IO状态连发送带接收需要32bit的数据,那么32bit宽裕点算,按50bit算,获取IO状态用时按小于1us.
那么时钟频率最少需要50MHz

#46 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-13 22:25:44

大家还有什么建议和想法?这周我再总结一下,画下改进后的【迪卡总线】
已了解台达plc用的spi,已了解西门子背板总线用的无cs的spi,即全双工i2c。

#47 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-13 17:58:24

@yobbo
我觉得上电先协商是一个好的思路。

我先进行定义,就是从机回复数据的时候,第一个字节为0x00,第二个字节为0xAA,
主机收到数据后,看需要移多少位才能得到0x00和0xAA,
然后下发从机相位移动的位数,
使得主机接收数据正常为0x00和0xAA。
配置好从机相位填空位数,就应该可以了吧。

主机接收数据我统一第一个字节不要。

#48 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-13 12:59:10

@阿黄
单向发送肯定没问题,但接收数据时,CLK和MISO的相位并不一致,因为CLK是主机端发出,而MISO是从机端发出。是降低速度还是做延迟补偿?

单向发送没问题就行,那就是说明,CLK和MOSI是一致的。
但为什么@LinjieGuo说他通过485芯片延长的SPI,到595会有相位问题?

#49 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-13 12:56:01

LinjieGuo 说:

@阿黄
我之前使用485芯片来延长SPI总线,挂接HC595/HC165,线越长,相位偏移,走形便越厉害。
如果器件传输延迟低,SPI CLK不要太高,感觉没问题。

大佬能详细讲讲,吗?
你是用的RS485芯片对SPI进行延长,
也就是MOSI和CLK用了两个485芯片,
在设备HC595端也放了两个485芯片进行接收,
转出来的CLK和MOSI相位对不上吗?
单向发送也有相位偏移的问题吗?

我的从机器件打算用CPLD做,响应时间应该挺快的。
我其实有往100M跑的打算

#52 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-12 14:51:47

@Gentlepig
MISO和MOSI都用差分了,MISO是soc输入端,不是输出。
多谢信息分享,台达用的spi,
考虑稳定性,所以我加差分。

扩展模块的核心供电可以从总线上取,但输出不从总线上取,扩展模块需要外供电。

#53 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-12 14:51:03

le062 说:

补充下,串联方案对于SPI这种同步信号可能不合适,CLK与MISO容易出现同步问题。更适合串口类的异步信号

多谢大佬分享,串联方式不太好我打算用1G带宽的USB交叉开关来做中继

#55 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-12 14:44:43

jiaowoxiaolu 说:

cpld不需要吧,直接用max485芯片或者mcp2551这类转一下就行了,专门转差分就用一颗CPLD大材小用了

485芯片确实可以单端转差分等操作,但要高速的,实在太贵了,比如100Mbps的RS485芯片上百了。
一般便宜的都不超过1Mbps

#56 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-12 09:11:27

目前的情况下,需要给每个模块设置地址,这是比较麻烦的,需要考虑增加拨码开关用于设置地址,
比如我需要增加4个相同的IO扩展模块,每个IO扩展模块的固件相同,不设置拨码地址,
CPU需要识别出每个模块,以及他们之间的排序。
基于这个考虑,需要在差分线上,增加差分交叉开关,
在整体上电时,CPU对每个从机进行地址赋值。

#57 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-12 09:08:08

迪卡
回复: 47

出发点:需要做个可扩展的控制器,类似PLC,IO点不够可以增加扩展模块来扩充IO,没有485等串口,可以增加扩展模块来扩充。
西门子 PLC图片如下:
_20220712085108.png

CPU主控打算用全志T113系列,
考虑扩展模块上芯片不会用太高端,所以只能从UART、SPI、I2C、RS485、CAN这类的去考虑,
1、需要多从机
2、需要高速
3、需要远距离抗干扰,比如CPU挂10个扩展模块,线长都出去了半米了。

综合考虑,T113处选择SPI接口,
使用将SPI改为3线,使用CLK、MOSI、MISO
考虑远距离传输的抗干扰性,将3根信号线变为差分信号。
T113连接CPLD,CPLD将单端信号变为两个端口输出,来模拟差分线。
在接收端,使用高速比较器进行接收数据,市面在售的7ns比较器比较便宜。
增加总线的地址机制,每个从设备都有地址,当收到自己地址的数据需要发送时才会进行发送,否则发送为高阻态。
下面是初版设计原理图,
_20220712090737.png

#58 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 这种减速步进电机可以实现细分吗? » 2022-03-15 19:08:23

迪卡
回复: 3

Screenshot_2022-03-15-19-00-21-01_090d9ae461b065ca11c329abb9cd0d70.jpg

我知道像42,57这种步进电机可以用tmc2226这种驱动器实现128或256细分,
像28BYJ48这种减速步进电机,减速比是64,那么一个步进角度是:5.625 x 1/64。
角度约0.087°,这个角度对于我来说还是有点大,我需要一个脉冲0.003°左右的样子。
这个电机也可以实现细分吗?用tmc2226可以实现吗?
我看这个电机是相数和线数对不上。

#60 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2022-01-17 19:07:43

秦皇岛岛主 说:

楼主对外出售吗

做都没做出来还想买?我是想屁吃。

#61 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2022-01-17 19:07:04

Gentlepig 说:

F1C也塞进来,原来f1c是外扩的吗?

我看嘉立创10*10尺寸以内的4层板打样也是很便宜的啊。

原来想外扩cpu的。

#62 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2022-01-16 22:28:13

又画了一版,2层,发现4层打样太贵了要200多,2层34块钱就够了。
画的时候发现可以把F1C也塞进来,就一起塞进来了。
这样外扩板就只有摄像头和显示屏

只是先拉通了,好多走线没有优化,GND到处跳线。

type-C部分只有外插type-c线时候才会有电,用的是ch342两个串口的。
单片机复位整了个按钮在喇叭旁。

修改了断电自杀的bug.从5V和Bat一起给电到单片机

喇叭从IPSOUT取电,不插电池也能工作。

_20220116222340.png

#64 Re: Cortex M0/M3/M4/M7 » CH579M-以太网IO模块、光源控制器、相机触发模块 » 2021-11-13 17:02:03

_20211113170045.png
这个是目前规划的原理图,
通过栅极驱动器TLP155E来驱动PMOS

#67 Re: Cortex M0/M3/M4/M7 » CH579M-以太网IO模块、光源控制器、相机触发模块 » 2021-11-10 22:52:28

最后还是pmos简单些,把隔离电源的GL-DC12和12-24V连一起,隔离地是浮空的,
这样隔离电源就可以给多路供电了

#70 Re: Cortex M0/M3/M4/M7 » CH579M-以太网IO模块、光源控制器、相机触发模块 » 2021-11-07 22:19:50

QQ截图20211107221849.png
目前计划是这样,加个隔离电源,
使用NMOS做高边驱动。

#71 Cortex M0/M3/M4/M7 » CH579M-以太网IO模块、光源控制器、相机触发模块 » 2021-11-07 21:44:36

迪卡
回复: 11

由于项目需要,以及市面上各种难用的模块,不得不自己造轮子。
先从需求说起,需求就是以太网IO模块、光源控制器、相机触发模块多种用途的一个小模块。
考虑到以太网的需求,采用CH579M是最好不过的了。
对于输入采集,直接用光耦就好了,这个简单。
主要是输出,想弄高边输出,而不是开漏输出。
对于开漏输出,基本都是下图这种形式。
QQ图片20211107212757.png

想做高边输出,比如用PMOS,IRF9540N这个管子便宜还普及,感觉比较好。
但遇到了个问题,我想应用于电源电压12V、24V、32V都能用的场景。
网上大多数关于PMOS的驱动电路都是这个样子的:
QQ截图20211107214020.png
栅极耐压是±20V,用24V或32V的话直接将栅极拉低到GND其实是超压了。
又找到类似这样的电路,通过电阻分压的方式可以控制PMOS,但大多都是用作高边电源开关,
不能用作PWM输出,因为分压电阻的阻值比较大,给PWM会使得MOS大部分出于临界状态,发热严重直至烧毁。
QQ截图20211107213908.png
我想搜一些高边PWM输出的电路怎么驱动,啥都没有,居然搜到了PMOS高速PWM输出的专利....
QQ截图20211107214323.png
关于高边输出,卡了半年,也就是一直没有进行。

#72 Re: 全志 SOC » 小白自制Linux开发板(F1C200s)整理系列,持续更新中 » 2021-10-30 17:34:31

摸鱼moyu 说:

有没有大佬知不知道咋在板子上装gcc,装库装了快一天了没成

你装个Debian就把gcc装上了

#73 Re: 全志 SOC » 我是不是买到假f1c100s啦! » 2021-10-26 22:45:01

买的时候问批号,批号一样就是好的,批号不一样就是拆机

#74 Re: ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-03 23:38:29

那请问,sdio也是模拟的吗?!!!!
esp8266,esp8089是一样的,可以跑sdio或spi的WiFi

#75 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-29 10:39:28

电池仓也大了,电池在里面狂浪

#76 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-29 10:29:53

焊好usb hub 和ch340,功能正常,
焊好蓝牙部分,音乐播正常,
但发现之前买的10片6sp喇叭是假的,里面没有线圈。
2块钱一个买的,
大家注意,手机配件必须买那种测试好再发货的

#77 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-29 10:28:24

-1f83013cbf1d3985.jpg
typec和USB口开孔位置需要再错位一下,有些许0.2mm左右突出来了。
先调硬件,通了再改

#80 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2021-08-20 11:58:32

twzy 说:

@542396750@qq.com

.bus_num = 0,  //根据实际情况填写
.chip_select = 1, //根据实际情况填写
.mode = SPI_MODE_3

我调试过程中,关键卡在这个模式方面,前面我提了

#82 Re: 全志 SOC » [V3X][Mystery]项目开发进度汇报 » 2021-08-18 23:12:59

4g模块儿的固定方式 你没画吧 。

#84 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-15 20:00:43

-6290b3e356e59764.jpg
这就是为啥一直鸽的原因

#85 Re: 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-15 08:33:29

屏幕是tiky家的,安利一下,便宜,颜值高。

#88 全志 SOC » F1C200S PDA手持机V2.0 » 2021-08-07 21:33:57

迪卡
回复: 18

鸽了有一年了,先发个外设板图。
QQ图片20210807213015.png
使用AXP199电源管理,可以随时调节电压,这样就可玩超频了,从司徒的测试来看,跑个1.5GHz没得啥问题。
倒是核心CPU散热我得考虑🤔一下。

#89 Re: 全志 SOC » F1C200S PDA手持机调试 » 2021-08-07 19:38:09

jordonwu 说:

这个还在继续吗?有成品出?

还在继续,还在鸽,没有成品。

#90 Re: 司徒开源 » 研究FC3000掌機的開源可行性 » 2021-08-01 17:33:55

除了超频性能,记得有人在坑网说过,f1c里面藏了一个温度传感器,可以用来测CPU温度

#94 Re: 全志 SOC » DKTool F1C100s/F1C200s专用工具 哇酷网特别版,20201221正式发布!!!! » 2021-04-29 22:35:49

a32425262 说:

迪卡搞个v3s的嘛

你把v3s的 ramfs内核啥的都搞定我就给你加

#96 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » 研究研究本站显示 emoji 表情 » 2021-04-25 12:50:02

打赏的居然是积分,看来下一步可以购买积分以及积分兑换东西了,还有兑换RMB

#97 Re: ESP32/ESP8266 » ESP32 OV2640拍照挺清晰呀 » 2021-04-16 07:20:50

bingyinhaha 说:

ov2640停产这么多年,还能用。搞不好是N手货了。

都说停产有什么替代品吗 ?

#98 Re: ESP32/ESP8266 » ESP32 OV2640拍照挺清晰呀 » 2021-04-15 23:47:00

1600*1200分辨率,
质量为0 帧率1fps,
质量为10,帧率5-6fps

#99 ESP32/ESP8266 » ESP32 OV2640拍照挺清晰呀 » 2021-04-15 23:45:24

迪卡
回复: 13

一直以为2640清晰度很渣,没想到手动对上焦后,jpeg质量设置0,真清晰。
IMG20210415232338.jpgfd00d4db46e28a3.jpg4ca6dc1f2afd085b.jpg

#100 Re: 全志 SOC » DKTool windows下F1C200S图形化烧写工具(文件都已过期,请不要下载) » 2021-03-01 12:46:18

抱歉,忘记了老贴了,最新版本是哇酷特别版,没有过期。
链接在这 https://whycan.com/t_5733.html

#102 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-02-12 22:42:01

过年了,坑网也没有过年的气氛。
应该学习一下stc,打几个大字,牛年快乐。

#106 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-01-31 22:16:07

今天测试onenet的tcp透传ok了,很简单。
连个tcp,,发个登录信息就ok了

#107 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-01-31 22:15:33

sy373466062 说:

有些意思 要是可以用ESP32,加上BLE功能就好了

这个就是ble+网口

#110 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-01-27 21:32:46

问一下大家,mqtt例程如何使用呀,
我之前用8266 arduino开发 连过onenet,
需要填写服务器ip,端口,还有一些devicid 应用授权码。

我在mqtt的demo里只看了要填ip 端口和账号密码。
这个账号密码怎么填?
onenet没有账号密码概念,有大佬教一下?
网上没有范例

#114 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-01-24 18:21:48

david 说:

这个在机箱里也能收到蓝牙信号吗 金属机箱是个法拉弟笼

蓝牙只是配置时候用,无所谓。

#118 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » DIY 网口 远程开机卡 CH579M » 2021-01-19 22:38:12

从路由器或交换机拉两根网线
一根插主机 一根插开机卡
开机卡通过各种云平台做跳转,写个微信小程序远程开机关机

#120 Re: Cortex M0/M3/M4/M7 » 关于单片机代码加密相关讨论 » 2021-01-10 12:07:40

用环氧树脂胶将芯片滴起来,看起来像牛屎芯片。别人就没兴趣破解了。

#121 Re: 全志 SOC » F1C100S usb hub问题 » 2021-01-10 12:06:43

F1C的USB端点不够,只有3TX  3RX .
直接连网卡可以,加HUB就不够了

#122 Re: 全志 SOC » DKTool F1C100s/F1C200s专用工具 哇酷网特别版,20201221正式发布!!!! » 2020-12-30 18:14:05

jynjynjyn 说:

我在win7 64位电脑上打开DKTool可以检测到f1c100s芯片,但是SPI FLASH显示“No Detected”,型号为W25Q128

那我下个版本把自查debug项加进去。

#123 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 调查一下,关于以太网调光器的使用需求 » 2020-12-30 08:21:59

迪卡
回复: 1

若使用工业相机,必然会用光源,光源大多是12V 24V,
现在市面上卖的可以通讯调光的光源控制器都是五百朝上的价格。
如果我做一个内置交换机可以联级的pwm控制器怎么样,
当然,这个pwm还可以当做普通的晶体管输出来使用。不知道需求怎么样

#124 Re: 全志 SOC » DKTool F1C100s/F1C200s专用工具 哇酷网特别版,20201221正式发布!!!! » 2020-12-21 22:00:31

EMMC测试

图只是说明一下我的EMMC是啥东西。
我是插到板子上的,而不是读卡器
emmc.png
IMG_20200814_225004.jpg

#125 Re: 全志 SOC » DKTool工具BUG提交汇总 » 2020-12-21 21:34:14

哇酷小二 说:
迪卡 说:

@晕哥,看log,已经识别到了4GB emmc。并且启动了了.ko。
是不是windows没装驱动???

USB座子的ID脚是不是PF6?

插入的时候PF6电平有没有变化?

按照晕哥的意思,应该是ramlinux是OTG模式,如果ID脚被拉低的话,就变成了HOST,PC也就无法识别到了吧

#126 Re: 全志 SOC » DKTool F1C100s/F1C200s专用工具 哇酷网特别版,20201221正式发布!!!! » 2020-12-21 21:31:55

16gb.png
将16GB TF卡 ,模拟成U盘,

16mb.png
将板载16MB w25q128模拟成16MB U盘。
可以使用win32diskimager进行烧写。

#127 Re: 全志 SOC » DKTool工具BUG提交汇总 » 2020-12-21 21:22:02

@晕哥,看log,已经识别到了4GB emmc。并且启动了了.ko。
是不是windows没装驱动???

#130 全志 SOC » DKTool F1C100s/F1C200s专用工具 哇酷网特别版,20201221正式发布!!!! » 2020-12-21 18:54:46

迪卡
回复: 120

软件使用sunxi-fel为烧写工具,可以读写w25qxx系列的芯片,可以读写DDR和寄存器。
更添加了晕哥的大招,可以将板载TF 、EMMC、SD NAND、W25Qxx系列Nor Flash 模拟成U盘。使用win32diskimager进行烧录。
同时一键打开任务管理器,设备管理器,可方便查看COM口。
只有一个exe文件,方便使用。
内置Win32DiskImager,用于烧写模拟成U盘的设备。
内置Zadig驱动安装工具,
内置Putty终端调试软件。
内置F1C200S的数据手册和用户手册。
下载地址:DKTool哇酷网特别版--密码是哇酷网址.rar (解压密码: whycan.cn
下载的留个言,支持下。
软件随便用,个人用或者公司用,附图软件工具时,需要与作者协商,软件版权归迪卡所有。
可以定制软件功能。


以下由 @哇酷小二 添加:
----------------------------
解压密码: whycan.cn

#133 全志 SOC » PDA-F1C200S 3D渲染图 » 2020-11-25 20:45:08

迪卡
回复: 3

再开个帖子,show美图

#134 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 22:23:31

##############
#####USB HUB#####
##############
QQ截图20201115222056.png
hub只给PC用,一个CH340,一个蓝牙USB声卡,一个连接到交叉开关到F1C200S。
QQ截图20201115222237.png

使用CH340的RTS来决定是连接的F1C200S还N76E003

#135 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 22:14:40

##############
#####电源管理#####
##############
QQ截图20201115220859.png

3路DCDC电压固定,给F1C200S用
1路LDO是3V给AVCC用。
啊!!关于LDO3的分配我还没有分配好,

PowerKey是按键,连接N76E003开漏输出,用来操作开关机。
PowerOK是开机结束,电压输出稳定标志,由N76E003捕捉。
IRQ是中断,由N76E003负责。
那8个IO,到后面再分析。

#136 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 22:05:55

##############
#####接口#####
##############
QQ截图20201115220338.png
整个PDA,只有两个接口哈,
一个是type-C,
用来充电,
串口调试F1C200s
串口调试N76E003
给F1C200S烧录程序
给F1C200S的emmc烧录程序,更新固件。
USB连接F1C200S做数据传输。

一个是大口USB,
就是F1C200S的USB做host模式。
我这次不给F1C用hub了,这样就节省了4个交叉开关,而且USB可以接USB转以太网!!!!

电源输出部分做了控制电压输出。

#137 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 22:01:15

##############
#####存储#####
##############
QQ截图20201115215626.png
画了3个,一个是TF卡槽,一个是SD NAND ,一个是EMMC。
我打算是用EMMC,3个封装打算重叠画,
QQ截图20201115220054.png
测试过EMMC速度很快,哈哈。
关于sunxi-fel模式,我需要屏蔽掉flash,那么我打算将CMD拉低
我就用N76E003去开漏输出,拉低CMD。
电源就是AXP199的3.3V和SOC共用

#138 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 21:56:09

##############
#####摄像头#####
##############
QQ截图20201115214917.png

摄像头的电源也是AXP199的3.3V和SOC共用。
直接用OV5640好了,因为之前群里有人说调通了。

I2C接口,就贯穿整个板子...不用解释,地址有没有重复的没有确认过,不过摄像头、触摸屏、AXP199应该不会重吧。
CSI_RST复位,也同样扔给了AXP199。

#139 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 21:48:08

##############
#####显示屏#####
##############
QQ截图20201115214023.png
显示屏部分呢,用的是一个MIPI+RGB的显示屏,按照配置接法是RGB模式。
供电来自AXP199的3.3V,和SOC的3.3V共用,
这个屏需要初始化,
涉及
LCD_CS
LCD_SCL
LCD_SDA
实际上呀,他是按照SPI走的,但屏厂为啥按照I2C的命名就不懂了。不管它,反正按照屏厂的初始化代码拉IO就行了。
LCD_RST是复位屏控制器的,这种无关紧要的我就给到AXP199去控制。
QQ截图20201115214126.png
背光,一定要注意输出端用的电容耐压值,
这个升压能达到50V,!!!
电源来自AXP199的IPSOUT,背光控制由N76E003来控制,因为AXP199的PWM的高电平是2.5V.

#140 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 21:38:11

最难搞定的就是IO的分配,每个小功能倒是能确定的了。
一个一个来。先从电容触摸屏开始。
##############
####电容触摸#####
##############
QQ截图20201115213155.png
I2C接口是连接F1C200S和N76E003和AXP199还有这个电容触摸的,还有摄像头!!!。
供电取自N76E003的供电,因为主控有掉电状态,考虑可以双击触摸屏来启动相关操作。
N76E003的供电直接来自电池然后LDO3.3

CTP_EINT是触摸中断,当你的手点到屏幕时,会持续触发中断,你快速的点一下,就能达到几十甚至上百个中断。
我将中断连接到N76E003,而不是给F1C200S,因为F1C200S只有1个脚可以用来做中断了。
N76E003也起到中断控制器的作用......任务艰巨,不仅管按键,还管电源,还管中断。
CTP_RST是电容触摸的复位,这个无关紧要,但还是加上,所以给到了AXP199去控制。

#141 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-11-15 21:30:29

emmm,鸽了两个月,我又回来了,
再回首原理图,发现了一些,还是再改一改。

#142 Re: 全志 SOC » f1c100s的PB3管脚在那个位置??手册看到有,实际没找着 » 2020-09-06 12:43:03

PB3引出来了,就是SVREF,
但是,你必须用svref,所以,也就用不了这io

#144 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-08-20 21:52:53

关于PDA的结构,还是采用叠PCB板的方式,在最顶部和最底部使用电梯里常见的亚克力广告贴,
这样边缘看起啦不太好看,那就选了装修用的U型不锈钢条做包边处理,对于开孔,只需开一个USB,一个type-C,一个编码器即可。
根据难度,买一台手动钻台,当手动雕刻机用。
上一U型条的图片,
O1CN01AOfNWn25YuUua0yCV_!!59757539_jpg_400x400.jpg

#145 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-08-20 21:44:46

写帖子时候,不能看到图片,不好说明,在此说明一下。

CH340->MCUTTL    MCUTTL->CH340
是我标注串口的习惯,免得TX RX搞反了,我直接标注谁到谁。
这个串口的用途是,
1.更新MCU的固件
N76E003出厂不内置bootloader,所以需要先用ICP烧写一下。之后就可以用串口进行烧写了。
2.调试MCU程序使用,看串口信息来调试MCU程序(在PDA已经封装成整机的情况下)
3.PC上位机通过该串口,获得版本号或是状态,可以设置让soc复位,或者让soc复位到fel模式,只要MCU能控制采集的东西,都可以搞。

BAT_ADC
单片机的ADC脚去采集电池电压,当然是电阻分压出来的,不用太精确,别太没电了就行,有个采集,在界面上可以显示下电量。
LCD_CS LCD_SDA LCD_SCL LCD_RST
这4个脚是初始化LCD显示屏用的,LCD默认是MIPI模式,需要通过SPI接口去初始化变成RGB模式。我也不懂为啥屏厂对SPI脚的命名方式和I2C一样
ICP_DAT   ICP_CLK   ICP_RST
这3个脚是烧录单片机用的,ICP烧录接口,包括复位
在这里,LCD_CS和ICP_DAT复用了,但没有问题;在烧录bootloader的时候,屏幕排线是不插的。
SW  A  B
这3个脚是滚轮编码器的3个脚,我接了中断脚。这个滚轮编码器真是漂亮啊,但是也真贵 9块钱一个!
CTP_EINT
这个脚是电容屏触摸中断脚,我已经用单片机试过了,如果你用手摸电容板的话,这个脚会一直脉冲输出,哪怕我以最快的速度点一下屏幕,都好几十个中断。
长按一会就好多万。
我是通过单片机转一下这个中断,再到F1C200S。F1C200S的SOCEINT检测到中断后,先I2C读N76E003,到底是哪个脚发生了中断。
TWI0_SDA  TWI0_SCK
这两个脚就是上面说的,F1C200S要I2C去读单片机,到底是什么中断发生了。还可以通过I2C去读电池电压等,去设置屏幕PWM背光,亮屏关屏等MCU可以干的事。
SOCEINT
F1C200S只剩下这一个中断脚了,所以我这相当于用N76E003做了一个中断控制器。emmmm....(N76E003AQ20:"你是想累死谁!!")
EMMC_EN
这个脚用来控制EMMC的使能,因为F1C200S复位后,如果识别到sdio里又固件,就直接运行了,我们的操作就是让F1C200S访问不到SDIO设备。这样F1C200S就能复位进入到fel模式了。
CTP_RST  WIFI_INT
CTP_RST这个就是电容屏的复位脚了,其实不接也行,但有人说,有时候万一它不好用了,复位一下就好了。
WIFI_INT是ESP8266在下载固件时候需要用到的,其实不接也行的,软件驱动方面改一改,我就没有接,也没有改,就能跑起来,啊哈哈。
LCD_PWM
背光调节
CH_USB
看过上面功能图的应该知道,这个脚是用来控制USB的交叉开关的,
1.可以将GL852给F1C200S用,PC还能继续使用串口去看F1C200S的串口终端。
2.可以将GL825给PC用,这样所有USB设备都由PC控制,F1C200S是slave模式。当然,模式的切换我是考虑用一个隐形的IO,毕竟1片N76E003可以模拟很多个PCF8574
SOC_RESET
F1C200S的复位脚,在烧写时候,复位也无所谓,不用管SOC,之后MCU就控制F1C200S复位就好了(N76E003:"mmp,还让我当复位芯片")
RY1303_EN
这次更改,我的电源直接从BAT上取,控制1.2 2.5 3.3的电压输出和关闭,(MCU是独立供电,不受影响)

#146 Re: 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-08-20 21:14:53

迪卡告诉你如何将24个IO塞到只有18个IO的N76E003上面
我们现在的需求是这个样子的
QQ图片20200820210658.jpg
我们先把固定不能动的画上
QQ图片20200820210758.jpg
单片机的RST复位脚只有在烧录bootloader时候才用的上,所以把F1C200S的复位脚和单片机的RST连到一起,
当烧录完N76E003后,单片机的RST脚只做IO就可以了。这样只负责控制主控是否复位。用于上位机控制复位F1C200S进入fel状态。
将检测电池电压的ADC先定下来, 毕竟支持ADC的脚不多,还有背光的PWM也先定下来,电容屏中断也找一个带中断的脚接上。
还有RY1303电源控制脚也得固定,不能复用,要不来回开关电源,可就真成了“开关电源了”
QQ图片20200820211057.jpg
初始化LCD用的SPI接口的CS脚,去和ICP烧写单片机的DAT脚复用,
尽量保证复用的脚是屏幕部分的,因为烧写bootloader时候,可以不接屏幕
因为实在不够用了,CS脚在对屏幕失效的时候,SPI的MOSI和CLK是可以复用干别的事,当作输出用。
先把对SOC的中断和SPI的MOSI复用吧。
分配到现在还剩余2个IO
QQ图片20200820211259.jpg
先看一下大概的功能,只看网络标号可能看不出来干啥用的。
QQ图片20200820211400.jpg
最后分完了。
QQ图片20200820211433.jpg

#150 Re: 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 12:37:45

为什么电脑上读写速度那么慢呢?原来是读卡器搞的鬼,
直接用卡托,速度贼快,
写入速度32MB/S  读取速度40MB/S


QQ截图20200815123310.pngQQ截图20200815123525.png

#151 Re: 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 12:26:28

看起来读写速度的蛮快的样子,但是为什么当TF卡,电脑上时候很慢呢?

#152 Re: 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 12:25:11

emmc读写速度测试

写入速度测试  
root@dika-pc:~# dd if=/dev/zero bs=1k count=10000 of=./savefile
10000+0 records in
10000+0 records out
10240000 bytes (10 MB, 9.8 MiB) copied, 1.02184 s, 10.0 MB/s
root@dika-pc:~# dd if=/dev/zero bs=2k count=5000 of=./savefile
5000+0 records in
5000+0 records out
10240000 bytes (10 MB, 9.8 MiB) copied, 0.727644 s, 14.1 MB/s
root@dika-pc:~# dd if=/dev/zero bs=4k count=2500 of=./savefile
2500+0 records in
2500+0 records out
10240000 bytes (10 MB, 9.8 MiB) copied, 0.570808 s, 17.9 MB/s
root@dika-pc:~# dd if=/dev/zero bs=8k count=1250 of=./savefile
1250+0 records in
1250+0 records out
10240000 bytes (10 MB, 9.8 MiB) copied, 0.580831 s, 17.6 MB/s
root@dika-pc:~# dd if=/dev/zero bs=32k count=1250 of=./savefile
1250+0 records in
1250+0 records out
40960000 bytes (41 MB, 39 MiB) copied, 2.38199 s, 17.2 MB/s
root@dika-pc:~#



读取速度测试
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=1k
32000+0 records in
32000+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.46465 s, 22.4 MB/s
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=4k
8000+0 records in
8000+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.2441 s, 26.3 MB/s
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=8k
4000+0 records in
4000+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.17389 s, 27.9 MB/s
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=16k
2000+0 records in
2000+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.13172 s, 29.0 MB/s
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=32k
1000+0 records in
1000+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.12216 s, 29.2 MB/s
root@dika-pc:~# dd if=./40MB.file of=/dev/null bs=64k
500+0 records in
500+0 records out
32768000 bytes (33 MB, 31 MiB) copied, 1.1215 s, 29.2 MB/s
root@dika-pc:~#

#153 Re: 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 11:46:37

出了个bug,
emmc刷上PDA固件后,使用PDA无法启动,哪怕spl串口信息都不打印。
甚是奇怪。
然后使用离职派试了一下,成功起来了,
但是有些问题。
看图
QQ图片20200815114501.png
应该是飞线等问题导致的,
目测,使用pda,sdio线长达6厘米,使用离职派,sdio线长度3厘米.
能跑起来就行,放心做板子就行了

#154 全志 SOC » F1C200S-PDA 硬件原理分析 » 2020-08-15 09:17:17

迪卡
回复: 28

本帖用来说明F1C200S-PDA的硬件原理。
为了追求简单,只有一个type-c口,再加上f1c200s的io口只有那么几个,所以硬件电路极其复杂。
再此进行分析说明,也非常欢迎大家一起探讨。

#155 Re: 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 07:40:47

焊接过程,知道了emmc的电源需要接哪些,
一个是vcc 还有中间一个vcc,
注意vddi需要外接电容到gnd,
所有gnd是连通的

#156 全志 SOC » F1C200S-PDA 存储器EMMC测试 » 2020-08-15 07:38:09

迪卡
回复: 10

为了跑debian,存储容量必须大才行,
至少4GB以上,所以考虑emmc。
做了个emmc转tf,
电脑能正常识别。IMG_20200814_225008.jpg
IMG_20200814_225004.jpg

#157 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-08-14 11:44:17

请大家看第60楼,我已经给了提示,这里要注意

#158 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-12 06:44:57

barcode 说:

看起来瓶颈在写文件?

每秒要写 6*30 = 180 个png 文件?

写一个单线程程序, 全速写png文件, 看平均每秒能写多少个?

比如算下来每秒能写 60个png文件, 那么就准备3个硬盘继续测试.

摄像头采集速度是25MB/S,单线程写入速度是4MB/S左右

#159 Re: 全志 SOC » DKTool windows下F1C200S图形化烧写工具(文件都已过期,请不要下载) » 2020-08-12 06:40:33

asdfwyg 说:

2月29发布: DKTool_0229.rar 提示有病毒

我加了壳,
下一版不用C#了,换C++就不加壳了

#160 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-11 18:34:03

iamseer 说:

既然硬盘是瓶颈,那多插几个高质量优盘行不行?几个摄像头写往不同优盘,只要总线带宽不满吞吐量应该可以上升。

不是硬盘是瓶颈,硬盘的写入速度可达300MB/s
但由于一帧帧保存图片属于小文件,单个文件保存速度很慢,达不到较高的速度。

#161 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-11 09:17:42

哇酷小二 说:

用 ffmpeg 的 sdk, 把图片保存成H.264压缩的视频,这样把压力传给了CPU,对磁盘IO影响比较小。

可能需要在每帧照片上面打上时间戳。

保存成视频是会对图片造成有损的,我采集的图片并不是普通的彩色图片,是具有深度信息的图片,每一个像素点信息都是不能丢的,所以视频方式目前没有无损的方式

#162 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-11 08:51:15

我有个思路不知道怎么样,采集图像到内存速度时很快的,我使用1个线程去轮询采集图像到队列,将更多的线程留给保存图片到硬盘

#163 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-11 08:49:56

拉轰的脚踏车 说:

VisualStudio工具里面有一个性能分析器, 可以采集一段时间内程序运行情况,

分析报告非常详细,可以显示每行代码/每个函数占用的时间,

楼主可以试一试。

我就是看的那个分析,内存暴涨

#165 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-10 22:24:38

我说一个思路,不知道可不可行,如果我采集到一张图片我就把图片拼起来,我拼成一个长图,当图片长度达到一定时,我就保存,这样相当于保存大图,不知道是不是速度会加速。

#166 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-10 22:20:17

春风吹又生 说:

磁盘IO速度与CPU不在一个量级, 你现在是机械硬盘? 要不要用DDR模拟一个磁盘试一试?

还有,我现在用的是垃圾固态硬盘,
好像保存小文件的速度慢,我拷贝大文件能达到300MB/S,但是保存的图片是一张张小文件,一个进程读队列保存的话,从任务管理看,速度只有3~4MB/S.

#167 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-10 22:18:55

春风吹又生 说:

磁盘IO速度与CPU不在一个量级, 你现在是机械硬盘? 要不要用DDR模拟一个磁盘试一试?

我的DDR是16GB的,因为读取速度很快,硬盘存储速度慢,图片有一堆都堆在了队列里面,队列就是内存,能在任务管理器看到内存占用暴涨,一会就2GB或3GB,时间再长就内存爆了。。。。

#168 Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 我有6个摄像头,如何30FPS不掉帧率的采集呢? » 2020-08-10 22:02:56

迪卡
回复: 16

我有6个USB摄像头,接到PC机上,我使用opencv和qt,能全部同时打开,并imshow
显示出图像,并保持30fps的帧率,

我每个USB摄像头使用了1个线程去读取摄像头数据,然后显示出来。

我想将采集的图片一张一张无损的保存在本地png格式,但是当我在读取的线程中imwrite保存的时候,就会降低帧率(摄像头保持30FPS,PC的读取帧率降低)
我改变了思路,我创建了6个队列,每一个线程去获取图片,然后扔到对应的队列里面,然后创建6个线程去读取队列并保存。
我发现帧率还是降低的,并不能保证满帧率,
因为PC机是4核8线程,即使加了很多线程,都是在轮询执行,保存图片的线程占用了读取图片线程的时间。
有没有大佬有好的解决办法呢,我想30fps不丢帧的保存下来摄像头拍摄的图片,并且图片需要无损的方式。

#169 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各位公司内部都用什么管理软件? » 2020-08-09 20:51:07

我今天用phpstudy作为环境,
运行可道云,觉得这个用来存放资料等不错

#171 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各位公司内部都用什么管理软件? » 2020-08-09 07:23:25

我只是觉得现在公司啥都没有,需要高一些可以高效的东西自己来用

#172 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各位公司内部都用什么管理软件? » 2020-08-06 11:50:11

迪卡
回复: 18

各位公司内部都用什么管理软件?
比如图纸版本管理
软件源码版本控制
项目进度控制
知识库系统
是否有论坛啥的,
聊天工具

#177 Re: 全志 SOC » F1C100/200s U-Boot 2020.07 (USB + LCD + 1bit SDIO) » 2020-07-22 21:04:12

前来祝贺,这样一来DKTool可以更新了

#178 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-15 07:17:50

IMG_20200714_213345.jpg


喇叭测试,
iphone的喇叭最棒了,但是有个问题,挤不下了。。。

#180 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-12 16:31:58

-2620cc4a2dc992dc.jpg-3e101ff0bea1ee57.jpg
不用4G模块了,选了个蓝牙音频模块,支持BLE和SPP,还支持蓝牙音频,
可以拨打电话。

#181 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-10 18:56:16

shaoxi2010 说:

Mixer 要把mic的输入打开

我打开了,看报错,是IO错误

#182 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-09 19:30:09

今天先淘宝选一些喇叭买回来测试,
然后先研究4G模块

#183 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 22:05:14

全网搜,无资料,arecord录音报错,
https://whycan.cn/t_2041.html
这个帖子里的大佬们,你们是怎么能录音的??
我是5.2内核

#185 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 20:06:29

QQ截图20200705200523.png

播放声音没啥问题了,播放wav是直接播放,使用mplayer的话,需要反映一段时间。

录音报错呀,会生成wav文件,但没有声音

#187 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 14:17:07

aplay只支持wav格式,
这年代好不容易找到一个MP3文件,然后各种找网站转换的wav格式....
mplayer不知道咋回事,播放MP3没有声音

#189 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 13:12:23

使用debian文件系统,直接apt安装alsa,就可以用了

#190 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 12:42:13

alsamixer
没打开开关

M是静音,,OO是打开

#192 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 11:59:55

root@dika-pc:~# ./tinymix contents
Number of controls: 97
ctl     type    num     name                                    value
0       INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
1       BOOL    1       PCM Notify                              On
2       BOOL    1       PCM Slave Active                        Off
3       INT     1       PCM Slave Format                        2 (range 0->52)
4       INT     1       PCM Slave Rate                          48000 (range 0->192000)
5       INT     1       PCM Slave Channels                      2 (range 1->1024)
6       INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
7       BOOL    1       PCM Notify                              On
8       BOOL    1       PCM Slave Active                        Off
9       INT     1       PCM Slave Format                        2 (range 0->52)
10      INT     1       PCM Slave Rate                          48000 (range 0->192000)
11      INT     1       PCM Slave Channels                      2 (range 1->1024)
12      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
13      BOOL    1       PCM Notify                              On
14      BOOL    1       PCM Slave Active                        Off
15      INT     1       PCM Slave Format                        2 (range 0->52)
16      INT     1       PCM Slave Rate                          48000 (range 0->192000)
17      INT     1       PCM Slave Channels                      2 (range 1->1024)
18      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
19      BOOL    1       PCM Notify                              On
20      BOOL    1       PCM Slave Active                        Off
21      INT     1       PCM Slave Format                        2 (range 0->52)
22      INT     1       PCM Slave Rate                          48000 (range 0->192000)
23      INT     1       PCM Slave Channels                      2 (range 1->1024)
24      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
25      BOOL    1       PCM Notify                              On
26      BOOL    1       PCM Slave Active                        Off
27      INT     1       PCM Slave Format                        2 (range 0->52)
28      INT     1       PCM Slave Rate                          48000 (range 0->192000)
29      INT     1       PCM Slave Channels                      2 (range 1->1024)
30      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
31      BOOL    1       PCM Notify                              On
32      BOOL    1       PCM Slave Active                        Off
33      INT     1       PCM Slave Format                        2 (range 0->52)
34      INT     1       PCM Slave Rate                          48000 (range 0->192000)
35      INT     1       PCM Slave Channels                      2 (range 1->1024)
36      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
37      BOOL    1       PCM Notify                              On
38      BOOL    1       PCM Slave Active                        Off
39      INT     1       PCM Slave Format                        2 (range 0->52)
40      INT     1       PCM Slave Rate                          48000 (range 0->192000)
41      INT     1       PCM Slave Channels                      2 (range 1->1024)
42      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
43      BOOL    1       PCM Notify                              On
44      BOOL    1       PCM Slave Active                        Off
45      INT     1       PCM Slave Format                        2 (range 0->52)
46      INT     1       PCM Slave Rate                          48000 (range 0->192000)
47      INT     1       PCM Slave Channels                      2 (range 1->1024)
48      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
49      BOOL    1       PCM Notify                              On
50      BOOL    1       PCM Slave Active                        Off
51      INT     1       PCM Slave Format                        2 (range 0->52)
52      INT     1       PCM Slave Rate                          48000 (range 0->192000)
53      INT     1       PCM Slave Channels                      2 (range 1->1024)
54      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
55      BOOL    1       PCM Notify                              On
56      BOOL    1       PCM Slave Active                        Off
57      INT     1       PCM Slave Format                        2 (range 0->52)
58      INT     1       PCM Slave Rate                          48000 (range 0->192000)
59      INT     1       PCM Slave Channels                      2 (range 1->1024)
60      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
61      BOOL    1       PCM Notify                              On
62      BOOL    1       PCM Slave Active                        Off
63      INT     1       PCM Slave Format                        2 (range 0->52)
64      INT     1       PCM Slave Rate                          48000 (range 0->192000)
65      INT     1       PCM Slave Channels                      2 (range 1->1024)
66      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
67      BOOL    1       PCM Notify                              On
68      BOOL    1       PCM Slave Active                        Off
69      INT     1       PCM Slave Format                        2 (range 0->52)
70      INT     1       PCM Slave Rate                          48000 (range 0->192000)
71      INT     1       PCM Slave Channels                      2 (range 1->1024)
72      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
73      BOOL    1       PCM Notify                              On
74      BOOL    1       PCM Slave Active                        Off
75      INT     1       PCM Slave Format                        2 (range 0->52)
76      INT     1       PCM Slave Rate                          48000 (range 0->192000)
77      INT     1       PCM Slave Channels                      2 (range 1->1024)
78      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
79      BOOL    1       PCM Notify                              On
80      BOOL    1       PCM Slave Active                        Off
81      INT     1       PCM Slave Format                        2 (range 0->52)
82      INT     1       PCM Slave Rate                          48000 (range 0->192000)
83      INT     1       PCM Slave Channels                      2 (range 1->1024)
84      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
85      BOOL    1       PCM Notify                              On
86      BOOL    1       PCM Slave Active                        Off
87      INT     1       PCM Slave Format                        2 (range 0->52)
88      INT     1       PCM Slave Rate                          48000 (range 0->192000)
89      INT     1       PCM Slave Channels                      2 (range 1->1024)
90      INT     1       PCM Rate Shift 100000                   100000 (range 80000->120000)
91      BOOL    1       PCM Notify                              On
92      BOOL    1       PCM Slave Active                        Off
93      INT     1       PCM Slave Format                        2 (range 0->52)
94      INT     1       PCM Slave Rate                          48000 (range 0->192000)
95      INT     1       PCM Slave Channels                      2 (range 1->1024)
96      INT     2       PCM Playback Volume                     255, 255 (range 0->255)
root@dika-pc:~#

#193 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 11:59:04

root@dika-pc:~# ./tinymix controls
Number of controls: 97
ctl     type    num     name
0       INT     1       PCM Rate Shift 100000
1       BOOL    1       PCM Notify
2       BOOL    1       PCM Slave Active
3       INT     1       PCM Slave Format
4       INT     1       PCM Slave Rate
5       INT     1       PCM Slave Channels
6       INT     1       PCM Rate Shift 100000
7       BOOL    1       PCM Notify
8       BOOL    1       PCM Slave Active
9       INT     1       PCM Slave Format
10      INT     1       PCM Slave Rate
11      INT     1       PCM Slave Channels
12      INT     1       PCM Rate Shift 100000
13      BOOL    1       PCM Notify
14      BOOL    1       PCM Slave Active
15      INT     1       PCM Slave Format
16      INT     1       PCM Slave Rate
17      INT     1       PCM Slave Channels
18      INT     1       PCM Rate Shift 100000
19      BOOL    1       PCM Notify
20      BOOL    1       PCM Slave Active
21      INT     1       PCM Slave Format
22      INT     1       PCM Slave Rate
23      INT     1       PCM Slave Channels
24      INT     1       PCM Rate Shift 100000
25      BOOL    1       PCM Notify
26      BOOL    1       PCM Slave Active
27      INT     1       PCM Slave Format
28      INT     1       PCM Slave Rate
29      INT     1       PCM Slave Channels
30      INT     1       PCM Rate Shift 100000
31      BOOL    1       PCM Notify
32      BOOL    1       PCM Slave Active
33      INT     1       PCM Slave Format
34      INT     1       PCM Slave Rate
35      INT     1       PCM Slave Channels
36      INT     1       PCM Rate Shift 100000
37      BOOL    1       PCM Notify
38      BOOL    1       PCM Slave Active
39      INT     1       PCM Slave Format
40      INT     1       PCM Slave Rate
41      INT     1       PCM Slave Channels
42      INT     1       PCM Rate Shift 100000
43      BOOL    1       PCM Notify
44      BOOL    1       PCM Slave Active
45      INT     1       PCM Slave Format
46      INT     1       PCM Slave Rate
47      INT     1       PCM Slave Channels
48      INT     1       PCM Rate Shift 100000
49      BOOL    1       PCM Notify
50      BOOL    1       PCM Slave Active
51      INT     1       PCM Slave Format
52      INT     1       PCM Slave Rate
53      INT     1       PCM Slave Channels
54      INT     1       PCM Rate Shift 100000
55      BOOL    1       PCM Notify
56      BOOL    1       PCM Slave Active
57      INT     1       PCM Slave Format
58      INT     1       PCM Slave Rate
59      INT     1       PCM Slave Channels
60      INT     1       PCM Rate Shift 100000
61      BOOL    1       PCM Notify
62      BOOL    1       PCM Slave Active
63      INT     1       PCM Slave Format
64      INT     1       PCM Slave Rate
65      INT     1       PCM Slave Channels
66      INT     1       PCM Rate Shift 100000
67      BOOL    1       PCM Notify
68      BOOL    1       PCM Slave Active
69      INT     1       PCM Slave Format
70      INT     1       PCM Slave Rate
71      INT     1       PCM Slave Channels
72      INT     1       PCM Rate Shift 100000
73      BOOL    1       PCM Notify
74      BOOL    1       PCM Slave Active
75      INT     1       PCM Slave Format
76      INT     1       PCM Slave Rate
77      INT     1       PCM Slave Channels
78      INT     1       PCM Rate Shift 100000
79      BOOL    1       PCM Notify
80      BOOL    1       PCM Slave Active
81      INT     1       PCM Slave Format
82      INT     1       PCM Slave Rate
83      INT     1       PCM Slave Channels
84      INT     1       PCM Rate Shift 100000
85      BOOL    1       PCM Notify
86      BOOL    1       PCM Slave Active
87      INT     1       PCM Slave Format
88      INT     1       PCM Slave Rate
89      INT     1       PCM Slave Channels
90      INT     1       PCM Rate Shift 100000
91      BOOL    1       PCM Notify
92      BOOL    1       PCM Slave Active
93      INT     1       PCM Slave Format
94      INT     1       PCM Slave Rate
95      INT     1       PCM Slave Channels
96      INT     2       PCM Playback Volume

#195 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:42:27

哇酷小二 说:

tinymix 把所有寄存器都列一下,改一下寄存器值。

我的debian软件包里没有tinymix,,用不了,只有alsa可以使用

#196 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:40:02

QQ截图20200705103857.pngQQ截图20200705103839.png

内核中把A10去掉只留了F1C100S,我的声卡显示出来了,还是没有声音

#197 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:22:19

QQ图片20200705102151.png
和网友的不一样,难道是没有生成声卡?

#198 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:18:18

QQ截图20200705101658.png
这是 应该没有静音
QQ截图20200705101746.png
这里是播放声音,但是喇叭没有发出声音

#199 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:16:31

按照https://whycan.cn/t_2041.html第13楼的补丁,将对应的文件进行替换和更改,包括设备树,都直接复制的
并在内核配置中,开启了以下部分。
QQ截图20200705101205.pngQQ截图20200705101304.pngQQ截图20200705101339.png


设备树如下

.dtsi文件
dma: dma-controller@1c02000 {
			compatible = "allwinner,suniv-dma";
			reg = <0x01c02000 0x1000>;
			interrupts = <18>;
			clocks = <&ccu CLK_BUS_DMA>;
			resets = <&ccu RST_BUS_DMA>;
			#dma-cells = <2>;
		};

		codec: codec@1c23c00 {
			compatible = "allwinner,suniv-codec";
			reg = <0x01c23c00 0x400>;
			interrupts = <21>;
			clocks = <&ccu CLK_BUS_CODEC>,
				 <&ccu CLK_CODEC>;
			clock-names = "apb", "codec";
			resets = <&ccu RST_BUS_CODEC>;
			dmas = <&dma 0 12>, <&dma 0 12>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

.dst文件
&codec {
	allwinner,audio-routing =
	"Headphone", "HP",
	"Headphone", "HPCOM",
	"MIC", "Mic";
	status = "okay";
};

#200 Re: 全志 SOC » F1C200S PDA手持机调试 » 2020-07-05 10:09:44

功放芯片到了,就先测试一下音频吧。
我把功放PAM8301焊上了,又焊了一个mic。
首先测试功放和mic是否是好的。
将mic输出,使用万用表电流档短到功放输入的电容前端。
对着mic喊话,看喇叭是否有声音
确认有声音,OKQQ截图20200705100920.png

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn