ap4115 发表于 2019-8-20 16:26:44

请问各位新唐NUC970系列的脚PAx如何复用为上电设置和LCD?

最近准备试用一款新唐的ARM9,NUC970系列。看手册LCD引脚是从PAx 开始的,其中PA0,PA1,PA2,PA3.....是LCD的数据线,同时也是MCU的上电(复位配置)。按照手册说明PA0,1在上电瞬间的高、低决定了程序是从USB,NAND FLASH, SPI FLASH等引导,PA2在上电瞬间的电平决定看门狗是否打开。那么就用个疑问了,如果PAx 同时又用在LCD的数据线,怎么复用这个功能呢?查看NUC972开发板的原理图和说明是使用跳线的方式,也就是设计的时候这几个引脚是否下拉到GND是用跳线帽来实现,当上电时,把跳线跳到引导程序的配置的状态,启动后再取消跳线帽。这个方法在开发板上确实解决了复用问题。但是如果作为一个产品卖给客户使用,总不能也设计这样的跳线帽,然后客户在开机的时候操作跳线吧!请问有谁用过新唐的啊?说说怎么处理这几个引脚复用的。

18501501628 发表于 2019-8-20 16:43:28

ap4115 发表于 2019-8-20 17:02:26

请问楼上兄台是不是指用程序配置寄存器啊?但是比如PA0,1,在上电时首先要通过上、下拉电阻确定其电平,然后才会引导(boot)程序是从NAND FLASH读,还是SPI FLASH读,还是eMMC 读,也就是说上电时要先把程序引导进来才有代码执行啊。
也就是说代码都还进来呢!一直想不懂怎么做。

cht-rtos 发表于 2019-8-20 17:05:33

只需要简单的上拉或下拉就可以了

ap4115 发表于 2019-8-20 17:06:18

按照他们的开发板用跳线帽的方式,画图时用电阻把PA0,1下拉到GND,然后用跳线帽控制,上电把跳线帽跳好,然后上电程序按照PA0,1的状态引导,程序开始执行,成功启动了,然后再把跳线拨回去就作为普通GPIO使用了。对于开发板,这当然没问题了,但是作为产品卖出去给客户用,感觉不合适吧。
我还是新唐使用者的新手{:cry:} {:cry:} {:cry:}

ap4115 发表于 2019-8-20 17:08:39

cht-rtos 发表于 2019-8-20 17:05
只需要简单的上拉或下拉就可以了

是啊,用电阻上、下拉,拉完后呢?电阻就一直拉在那里了,比如PA1 = 0,用电阻下拉到地,那么就一直拉到地了啊,后面如果LCD要作为数据线,岂不是这位总0了?

PPS 发表于 2019-8-20 17:09:30

它只是上电那一会儿读这个引脚的状态,那个时候LCD模块还没初始化,根本没有使用。另外,要求是通过10K的电阻进行上拉或者下拉。这样正常运行后,不会影响LCD。不需要跳帽,直接10K进行上下拉就行。

cht-rtos 发表于 2019-8-20 17:10:42

怎么会呢,你拉个10K电阻到地,输出1的时候还是1啊,只是多了一个10K的负载而已

矩阵时间 发表于 2019-8-20 17:14:46

按照楼主那个截图,open 就是 1,那 PA 口应该是默认上拉的。可以查一下手册,看看上拉的阻值范围。
另外,你们板子的引导方式难道还要变动吗?
不需要变动的话,直接上拉或者悬空不就可以了吗?上拉电阻为 10k 的话,也不影响引脚作为 GPIO 使用。

PPS 发表于 2019-8-20 17:16:33

ap4115 发表于 2019-8-20 17:08
是啊,用电阻上、下拉,拉完后呢?电阻就一直拉在那里了,比如PA1 = 0,用电阻下拉到地,那么就一直拉到 ...

你电路咋学的?10K拉地,这个时候只是多了一个负载而已。你LCD数据线输出高,经过10K到地,又不是直接到短到地,你告诉我怎么会变成0?

ap4115 发表于 2019-8-20 17:28:59

PPS 发表于 2019-8-20 17:16
你电路咋学的?10K拉地,这个时候只是多了一个负载而已。你LCD数据线输出高,经过10K到地,又不是直接到 ...

这样电阻要配置阻值吧,相当于分压了啊,兄台,分压就不一定是高,是低了

PPS 发表于 2019-8-20 17:52:02

ap4115 发表于 2019-8-20 17:28
这样电阻要配置阻值吧,相当于分压了啊,兄台,分压就不一定是高,是低了 ...



A点和B点的电压是一样的,哪里相当于分压?

ap4115 发表于 2019-8-20 21:12:44

矩阵时间 发表于 2019-8-20 17:14
按照楼主那个截图,open 就是 1,那 PA 口应该是默认上拉的。可以查一下手册,看看上拉的阻值范围。
另外, ...

我的板子是NAND FLASH启动,按照手册应该PA0 = 0, PA1 = 1, 使用外部晶振 PA2 = 0;可以用电阻把PA0, PA2下拉到GND。但是这样放了一个下拉电阻等启动完毕后会不会影响作为LCD使用呢?因为内部是有一个上拉电阻的,这岂不是两个电阻形成了分压?

ap4115 发表于 2019-8-20 21:14:02

PPS 发表于 2019-8-20 17:52
A点和B点的电压是一样的,哪里相当于分压?

PAx内部默认是有一个上拉电阻的,那个上拉电阻不是和外加的下拉电阻形成分压了么?

ap4115 发表于 2019-8-20 21:16:10

找个开发板试一下跳线好启动模式让程序启动后,不取消跳线看看会怎么样?

PPS 发表于 2019-8-20 21:29:09

ap4115 发表于 2019-8-20 21:14
PAx内部默认是有一个上拉电阻的,那个上拉电阻不是和外加的下拉电阻形成分压了么? ...

没救了,我医不好。

bitter 发表于 2019-8-20 22:03:21

上电瞬间,瞬间,管脚缺省一般试float input吧,还没有配置,内部的上下拉也没有生效。这样就由外部决定了。
没有过972.其他应该是这个思路

mysky 发表于 2019-8-21 10:23:42

厂家也不是NC啊,如果不能用还接什么LCD
页: [1]
查看完整版本: 请问各位新唐NUC970系列的脚PAx如何复用为上电设置和LCD?