기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
이솝2440 회로를 보다가 궁금한 것이 있습니다. PULL UP 또는 PULL DOWN 저항을 사용하는 것을 볼수 있습니다. 미사용 핀이라든지 또는 신호의 초기 상태를 설정하기 위한 경우라고 보입니다. 그런데 각각의 저항값이 다르네요. 이유가 있나요?
그럼 수고하세요.
제조사 별로 표현하는 방식이 좀 다른데요...
삼성의 경우 주로 입력 최대 전류로 표현합니다. High-Level-Input-Current, Low-Level-Input-Current 이런식이죠. 반도체 공정에 따라 다소 다르지만 좀 오래된 제품이라면 +/- 10uA 정도 될겁니다.
2440은 130nm공정으로 기억합니다. 최신 쿼드코어 Exynos 4412는 32nm 공정으로 +/-3 uA 입니다.
대충 이 정도 정보로 내부 저항을 추측해 볼 수 있겠죠.
2440은 최대치가 10uA이므로 3Volt 기준으로 300K옴 이상은 되겠죠. 4412는 1M옴 이상일 듯 하고요.
그런데 최신 프로세서들은 거의 대부분의 포트에 풀업/풀다운이 내장되어 있어 소프트웨어로 설정 가능합니다. PCB 면적도 자꾸 좁아지는데 쓸데없이 돈들여서 외부에 저항을 달 이유가 많지는 않습니다. 물론 예외도 좀 있습니다만...
아날로그 관련 회로나 스위칭이 많거나 노드 숫자에 따라 전체 로드가 변하는 I2C 같은 경우는 계산 방법이 많이 다르기도 하고요.
사족을 하나 달자면... 임베디드 분야의 소프트웨어 엔지니어들도 이런 설계 사양을 알면 큰 도움이 됩니다.
괜히 CPU에 버그가 있다거나 보드가 불안하다고 이야기 하기 전에 회로 디버깅을 도와주거나 드라이버에서 적당히 땜빵을 할 수도 있기 때문이죠. ㅎㅎㅎㅎ "옴의 법칙"이 미적분을 필요로 하는것도 아니고, 사칙연산만 좀 알면 가능하기 때문입니다. ^.^
하드웨어 없는 소프트웨어 없고, 소프트웨어 없는 하드웨어도 없죠 !!!
각각의 입력핀 내부 저항과 High/Low가 검출되는 전압 의해 외부 풀업/풀다운 저항값이 결정되겠죠.
내부 저항이 1MOhm이고, Vth가 2Volt이고, 풀업 저항 끝에 걸린 전압은 3Volt 라는 조건이면..
약 500KOhm 풀업이면 High로 인식이 될수도 있고 안될수도 있겠죠. Vth 걸려서요..
400KOhm이면 거의 확실히 High가 될겁니다.
그런데.. 안전하게끔 100K로 낮추어 내외부 노이즈에 좀 강하게 만들죠.
전류소모가 크게 늘어나지 않는 범위에서요.
그런데 2uA와 5uA의 차이는 사실 대부분의 시스템에서 무시할만하죠..
각 핀별로 내부 저항, 사용 조건에 따라 저항값을 계산하시면 됩니다만...
실제로는 10K, 100K, 470K 정도에서 적당히 선택하는 경향이 있습니다.