您尚未登录。

#2 Re: 全志 SOC » USB电源和锂电池输入切换电路(双电源切换) » 2022-07-13 14:04:39

看资料,这压降不太正常,据说应该是很小才对。

#3 Re: 全志 SOC » USB电源和锂电池输入切换电路(双电源切换) » 2022-07-13 14:00:12

为进一步降低空载消耗,把R16由100K调整到680K,电路切换依旧正常。正常工作 Q2的2脚和3脚压降为0.6V左右。

#4 全志 SOC » USB电源和锂电池输入切换电路(双电源切换) » 2022-07-13 13:43:54

go369
回复: 6

网上很多这电路,但经过实际验证,俺选取的最终电路如下:
.png

Q2为Pmos管,型号为FDN340P。 用电流表打在VBATT 和 Q2 的3脚之间,进行电流测量。
VBATT接锂电池正极,负极接GND;负载我随手接了个8欧的喇叭(AUX_VCC和GND)。
当没有输入USB电源(V_BUS)+5V,电流表显示指示200ma。
当接入V_BUS时,电流指示0。

工作正常。自动进行了切换。


网上有的电路图在Q2的1脚和2脚接了个二极管(1脚正2脚负),
如图:
png.png

我进行了验证,发现接入V_BUS,电流表电流由200ma降到30ma,也就是电池还继续供电关不死。可能和实验的元器件和电压选择有关的原因?

#5 Re: 全志 SOC » 通过SPI启动 esp8266EX/esp8089 的学习(非linux驱动)(持续更新) » 2022-07-05 13:16:32

先撸linux,确保板载的esp硬件工作正常。。。。这Linux头大。。。

#7 Re: 全志 SOC » XBOOT能通过JLINK调试吗? » 2022-07-04 18:03:44

精简的好用,看得明明白白。赞👍

#8 Re: 全志 SOC » 有需要audio技术支持的吗? » 2022-07-04 16:34:20

Quotation 说:
akinggw 说:

有没有f1c100s的音频裸机驱动啊?淘宝有个卖的,有点贵呀

可参考xboot的audio改改,加上DMA就比较实用了。主线程解码音频,DMA往DAC传输数据,不难。

xboot的代码封装套路绕圈圈,看不懂哦。请求剥离声音出来。

#9 全志 SOC » 通过SPI启动 esp8266EX/esp8089 的学习(非linux驱动)(持续更新) » 2022-07-03 09:36:07

go369
回复: 2

本开贴为使用SPI启动esp8266EX/esp8089(非linux驱动)进行学习笔记, 有时间会持续更新。
尝试运行平台为 rtthread 4.1,其它平台的SPI启动wifi可进行参考,应该是大同小异。

参考网址:
https://github.com/al177/esp8089
https://github.com/wireless-tag-com/esp8089

数据手册:
ESP8266EX.pdf

ESP8089.pdf

esp8266EX/esp8089 电路原理图(数据手册内含):
8089原理图.png

esp8266EX/esp8089 相关引脚:
f1c200s    ESP8266 / ESP8089            Function
BCM 13    CHIP_EN                            esp_reset_gpio
BCM 16    GPIO10 / SDIO_DATA_3    esp_cs0_pin
BCM 19    GPIO7 / SDIO_DATA_0    MISO
BCM 20    GPIO11 / SDIO_CMD            MOSI
BCM 21    GPIO6 / SDIO_CLK            SCLK
BCM 26    GPIO8 / SDIO_DATA_1    esp_interrupt
3.3V            GPIO15 / MTDO                     boot select
3.3V            GPIO0                             boot select
GND            GPIO2                             boot select

下面会以回帖的方式进行更新以下内容

1)运行机制

2)SPI通讯命令/数据

3)实践硬件
esp8266ex(淘宝价格2.5元/片,买了几块,经测试都可正常使用)
全志f1c200s(淘宝价格9.5元(翻新货),买了2块,经验证,xfel可启动内存运行调试)

4)其它:

5)待解决:

#13 全志 SOC » 菠萝派BoloRTT的声音播放,卡住了。有请微凉大神帮掌掌眼。 » 2022-06-30 10:32:43

go369
回复: 0

找了好久,才发现菠萝派有RTT的声音播放代码,但俺进行测试确卡住了,测试代码:

    f1c100s_audio_init();
    f1c100s_audio_config(1, 16, 44100);
    f1c100s_audio_open(1024);
    f1c100s_audio_vol_set(63);    

    int fd = -1;
    int s = 0;

   uint8_t *buffer = NULL;
   buffer = rt_malloc(1024);

    fd = open(argv[1], O_WRONLY);

    rt_kprintf("wav play %s\n", argv[1]);

    while (1)
    {
        int length;        
        /* 从文件系统读取 wav 文件的音频数据 */
        length = read(fd, buffer, 1024);
        if (length <= 0)
            break;
        s += length;       
        audio_pcm_play(buffer, length);       
        lseek(fd, s, SEEK_SET);
        rt_thread_mdelay(6);
    }

运行发现卡在了 函数 audio_pcm_play 内部的 while 里:

void audio_pcm_play(unsigned char * dat,int len)
{
  	int time_out = 100;
	unsigned short *buf = (unsigned short *)dat;
	// while((!f1c100s_ndma_is_all_complete(AUDIO_DMA_CH))&&(--time_out))
	// {
	// 	rt_thread_delay(1);
	// }
	while(!f1c100s_ndma_is_all_complete(AUDIO_DMA_CH));
	memcpy(audio_buf[is_n],buf,len);
	f1c100s_ndma_clear_all_complete(AUDIO_DMA_CH);	
	f1c100s_ndma_disable(AUDIO_DMA_CH);
	f1c100s_ndma_config_for_audio(AUDIO_DMA_CH,(unsigned int)audio_buf[is_n],len);
	f1c100s_ndma_enable(AUDIO_DMA_CH);
	is_n=!is_n;
}

请问这是咋回事呀,后面怎么处理呢?

#14 Re: 全志 SOC » xboot 启动代码分析 » 2022-06-26 15:50:03

楼主还有进一步的教程吗?这xboot到目前为止,还无从下手进行开发测试。

#16 Re: 全志 SOC » esp8089做网卡发热 » 2022-06-23 15:55:40

经过同一块板测试,有的芯片上电只有20多毫安,有的40,换一个芯片试试。40多的发热量大,20多的正常。

#18 全志 SOC » f1c100s亮了,点亮了,RTT+SPI+ST7789v四线串口屏,分享一下。 » 2022-06-21 22:03:51

go369
回复: 0

进行简单修改测试,竟然点亮了。屏幕分辨率240X320
st7789.rar
两个文件放入 rt-thread\drivers 目录
测试代码:applications\main.c

#include "rtthread.h"
#include "drv_clock.h"
#include "board.h"

#include "st7789.h"

uint8_t data[LCD_RAM_SIZE];
int main(int argc, char **argv)
{
    rt_kprintf("periph_get_pll_clk:%d\n", periph_get_pll_clk());
    rt_kprintf("cpu_get_clk:%d\n", cpu_get_clk());
    rt_kprintf("ahb_get_clk:%d\n", ahb_get_clk());
    rt_kprintf("apb_get_clk:%d\n", apb_get_clk());

    static uint16_t color;
    rt_tick_t t1,t2;

    color=0;
    while(1)
    {
        color +=0x3333;
        for(uint32_t j = 0; j < (uint32_t)Pixel_NUM; j++)
        {
            data[j * 2] = color >> 8;
            data[j * 2 + 1] =  color;
        }
        t1 = rt_tick_get();
        lcd_hw_write(0, 0, LCD_Width-1, LCD_Height-1, data, LCD_RAM_SIZE);
        t2 = rt_tick_get();
        rt_kprintf("tick = %d\r\n", t2-t1);
        rt_thread_delay(500);
    }

    return 0;
}

332.jpg

#19 Re: 全志 SOC » 儿童节给大家的礼物,f1c200s,TF卡启动RTT的spl » 2022-06-21 12:36:32

不知道下面这个怎么操作:
"2 用winhex复制boot.bin到0x2000位置 "

直接用这个命令可以:

dd if=boot.bin of=/dev/sdxx bs=1024 seek=8 

其中/dev/sdxx是你的SD卡盘符,可以用 ls /dev/sd* 列出,插上和拔下各运行一次,就知道对应哪个盘。

上电运行结果:

Init OK
SD capacity 31130624 KB
start cp file to ram addr 0x80000000
fonnd fat1 by dbr[dbr 0][fat1 2382]
root 32768 cusize 32 fatsize 15193
find file ok
cu 2 base 32768 offset 0 addr 3
filesize 396624,startform 6 cu
file num of cus 25
file num of secs 775
cp file to ram ok! Run....

 \ | /
- RT -     Thread Operating System
 / | \     4.1.0 build Jun 19 2022 18:46:20
 2006 - 2022 Copyright by RT-Thread team
lwIP-2.0.3 initialized!
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000
msh />[31m[E/MMC] [err]:0x00000100,  RTO[0m
[31m[E/MMC] mmc cmd 5 err[0m
[32m[I/SDIO] SD card capacity 31130624 KB.[0m

#20 Re: 全志 SOC » 儿童节给大家的礼物,f1c200s,TF卡启动RTT的spl » 2022-06-21 11:53:02

哦,原来是在SPL增加了SDIO驱动文件, sys-sdio.c和 sys-sdio.h,在 sys_copyself里的 进行初始化,start.S 里调用: bl sys_copyself

#21 全志 SOC » 去掉复杂的SPI连接WIFI模块,改用esp8266的AT命令方式联网。 » 2022-06-21 11:00:05

go369
回复: 1

看帖子好像都是用spi方式连接esp8089,看编译一大堆,脑袋大。为啥不直接用一个uart来连接esp8266,使用AT命令联网呢?这么简单的方式有什么弊端吗?各路大神用spi方式是为了挑战折腾还是啥其它原因?

#23 Re: 全志 SOC » XBOOT尺寸裁剪(170kB不带图形系统) » 2022-06-19 23:03:30

撸一个类似 make menuconfig 可视化配置勾选就方便了。

页脚

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

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