저는 마이크로 컨트롤러를 사용해야하는 프로젝트를 진행하고 있습니다. 따라서이 Beaglebone Black을 사용하기로 결정했습니다. 나는 아직도 Beaglebone 세계에 새로운 사람이고 나는 너희들이 나를 도울 수 있기를 바라는 몇 가지 문제에 직면하고있다.Beaglebone Black ADC 샘플링 속도가 증가합니까?
내 프로젝트에서 필자는 7 개의 아날로그 읽기 핀을 모두 지속적으로 읽고 그에 따라 처리해야 할 것입니다. 제 질문은, 가장 빠른 프로그래밍 언어가 될 것입니다 (가능한 한 많은 샘플을 아주 짧은 시간에 읽어야합니다!) 그리고 KHz에서 MHz로 샘플링 속도를 높이는 방법은 무엇입니까?
자바 스크립트 코드 :
var b = require('bonescript');//this variable is to refer to my beaglebone
time = new Date();
b.analogRead("P9_39");
console.log(new Date() - time);
이 코드는 단순히 읽는 하나 개의 아날로그를 수행하고 읽기를 수행하는 데 필요한 시간을 인쇄합니다
나는 다음과 같은 코드를 시도했다. 놀랍게도 결과는 111ms !! 이는 내가 틀리지 않으면 샘플링 속도가 10임을 의미합니다. 나는 7 아날로그 입력 핀을 형성 읽고 싶다면 이 코드는 여전히 적은 시간 (4ms의)하지만했다import Adafruit_BBIO.ADC as ADC
import time
ADC.setup()
millis = int(round(time.time() * 1000))
ADC.read_raw("P9_39")
millis = millis = int(round(time.time() * 1000)) - millis
print millis
, 난 단지 약 35를 읽을 수 있습니다 :
대안
은 pyhton 사용했다 각각의 샘플.echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
time cat /sys/devices/ocp.3/helper.15/AIN0
############OR############
time cat /sys/devices/ocp.3/44e0d000.tscadc/tiadc/iio\:device0/in_voltage0_raw
을하고이 50ms가 나섭니다 :
터미널을 사용.
내 샘플링 속도를 MHz 단위로하고 싶습니다. 그렇게하려면 어떻게해야합니까? Beaglebone Black이 가능하다는 것을 알고 있지만 명확한 방법을 찾지 못했습니다. 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.
고맙습니다. ANY 코드와 기쁘게하는 방법? 감사. – user3787524
@ user3787524, 나는 기존 PRUSS 라이브러리를 검색하는 것으로 시작합니다. [Libpruio] (http://beagleboard.org/project/libpruio/)는 유망한 것으로 들리지만 결코 사용하지 않았습니다. 요구 사항에 맞는 것을 찾을 수 없다면 PRUSS 어셈블러에서 모든 것을 코딩해야합니다. 나는 PRUSS 어셈블러 코드를 디버깅하는 것이 고통 스럽긴했지만 C++을 사용하는 어셈블러에서 이것을 수행했다. [TI의 prussdrv 사용자 모드 라이브러리] (http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader_API_Guide)는 비교적 간단했다. –
자습서 사용법 또는 그렇게하는 방법을 알기위한 단계? – user3787524