검색결과 리스트
업무에 해당되는 글 33건
- 2010/11/22 최신 TERA TERM 테라텀 4.67
- 2010/10/28 유닉스 / 리눅스 개발자를 위한 "유닉스 리눅스 프로그래밍 필수 유틸리티"
- 2009/12/04 TBD, NA, NC 뜻
- 2009/11/17 복잡한 돌비 라이센스
- 2009/05/29 보드가 자꾸 리부팅이 된다면
- 2008/10/23 antipad(anti-pad)
- 2008/10/08 A Guide to Memory Timing (2)
- 2008/10/06 환율이 쉬지 않고 오르는군요. (4)
- 2008/09/08 데이터시트란? (2)
- 2008/09/05 개발자라면 전자 엔지니어를 정기구독 하는건 어떨까요?
글
글
유닉스 / 리눅스 개발자를 위한 "유닉스 리눅스 프로그래밍 필수 유틸리티"
설정
트랙백
-
유닉스 리눅스 프로그래밍 필수 유틸리티
삭제
Trackback from 아크비스타 :: 아크몬드의 비스타블로그
2010/10/29 00:15
정말 오래간만에 아크비스타에 위드블로그(Withblog) 캠페인 포스트를 올리네요. 저는 개발자가 아닙니다. 하지만 소개 페이지에서도 나타낸 것처럼 개발을 배우고 싶어하는 학생입니다. 그런데, 윈도우 환경에서 C/C++ 에 대한 기초적인 문법을 배우고 현재 TCP/IP 소켓 프로그래밍에 대한 것을 배우고 있습니다. 이런 제가 리눅스 환경에서의  개발 방법을 배운다는 것은 조금 이른 느낌이 들기도 하고, 무엇보다 관련 지식이 부족해 잘 하지..
-
유닉스 리눅스 프로그래밍 필수 유틸리티(개정판) -백창우
삭제
Trackback from 김재호의 디지털보단 아날로그
2010/10/29 06:36
유닉스.리눅스 프로그래밍 필수 유틸리티 - 백창우 지음/한빛미디어 이 책은 2004년도에 1판이 발행되었고, 최근에 2판이 나왔다. 외국에는 1/E, 2/E 처럼 1판 2판이라고 표기하는데, 국내 출판사들은 개정판이라는 용어를 좋아하는 것 같다. 개정판이 뭐지? 2판이라는 말과 뭐가 다르지? 하고 문득 궁금해서 사전을 찾아보았다. 기존 내용이 수정된 것 뿐만이 아니라 subversion 처럼 완전히 새로운 장들이 추가되었는데도 개정판이라고 하는 것은..
댓글
글
TBD, NA, NC 뜻
설정
트랙백
댓글
글
복잡한 돌비 라이센스
설정
트랙백
댓글
글
보드가 자꾸 리부팅이 된다면
이전에 ARM 호환 코어 타입의 보드를 개발한 적이 있었다. 외국의 Reference 보드를 사오고 디자인 파일도 구해와서 그걸 가지고 만드는 일이었지만 RF 보드였기에 그리 쉬운 일만은 아니었다. 이래저래 애를 먹고 해결한 다음에 그 보드를 크게 만드는 작업에 착수를 했다.
같은 부룸을 쓴 보드였지만 보드가 커지게 되니 역시 문제가 다양하게 일어났다.
보드를 만들면서 정말 다양한 일들을 경험해봤지만 역시 가장 문제시 되는 건 커넥터를 써서 마더보드와 도터 보드 형태로 분리해서 만들게 되면 좋은 일이라고는 분리가 가능하다는 것 이외에는 하나도 없다는 것이다. 커넥터를 통하게 되면 일단 그라운드와 전원이 안정화 되기가 어렵고 커넥터 결합 자체도 문제가 되며, 커넥터라는 것이 핀 수가 많은 복잡한 형태일 경우 PCB에 마운트가 안 되는 경우가 종종 발생한다.
뭐 이외에도 패턴의 임피던스가 틀어지기에 직렬 저항의 값을 조절해서 사각파의 언더슈트나 오버 슈트 현상을 잡아줘야 할 때도 있고 크리스탈의 로드 캐패시턴스를 조절해줘야 하는 경우도 있다. 크리스탈 같은 경우 SMD 타입은 조금만 손납땜을 잘못하면 케이스가 그라운드이기에 쇼트가 나기 쉬운데 그럴 경우 진폭이 크게 줄어든다.
오늘 제목에 적은 리부팅이 자주 된다면 특히 유의해서 봐야 할 것은 전원 노이즈이다. 플래쉬 메모리 같은 경우는 오실로스코프로 관측했을 때 별다른 문제가 없다면 (사실 이 부분이 가장 힘든 부분 중에 하나이기도 하지만) 한번 읽고 그 후에는 동작 하지 않기 때문에 전원 쪽은 되던가 안되던가 둘 중에 하나이기도 하다. 일단 부팅이 시작했다는 것은 플래쉬에서 부트로더를 읽어와서 메모리에 적재하고 그것을 디코딩하여 동작하는데 성공했다는 이야기이기 때문이다. 하지만 이게 부팅을 하다가 리부팅을 한다면 왜 그럴까? 그것은 CPU 내의 와치독 타이머가 더이상 뭔가의 이유로 동작이 안되어서 리부팅을 시켰다는 이야기이다. 보통 DDR RAM은 2.5볼트로 동작을 하게 되고 그 중간 레퍼런스가 되는 1.25V가 들어가게 된다. 클럭에 맞춰서 데이터가 들어가게 되는데 이 리플이 허용되는 수치가 있는데 그걸 넘어서는 경우가 종종 보인다. LDO로 레귤레이터를 몽땅 꾸민다면 리플이 보일일도 사실 드물지만 대용량 LDO는 가격도 비싸고 필요로 하는 디커플링 캐패시터의 값이 크게 요구 되기 때문에 가격도 오르고 면적도 많이 잡아먹는다. 그리고 LDO는 가장 큰 문제가 전력 효율이 좋지 않고 볼트 드랍이 발생한다고 한다. 따라서 DC/DC 컨터버, 스위치 레귤레이터, 벅 콘트롤러 등이 사용되는데 결국 이것들은 DC를 사각파 형태의 펄스로 바꾸고 이걸 다시 고전류, 고용량의 인덕터에 통과시키게 된다. 펄스를 다시 DC로 바꾼다고 해도 리플은 없앨 수가 없다. 만약 없앤다고 하더라도 터무니 없이 큰 인덕터를 달아야 할것이다. 결국 이런 리플이 보드에 주는 문제를 최소화 하기 위해서는 비드를 통해서 각 전원부를 분리해야 하고 적절한 디커플링 캐패시터를 달아줘야 한다. 이건 설계 단계에서 하는 것이고 만약 문제가 된다면 어떻게 해결을 할 것인가?
일단 데이터 시트를 확인을 해보기 바란다. 보통 전력 효율을 극대화 하기 위해서 고효율모드와 고전류 모드 등 여러가지를 설정할 수 있는 경우가 있는데 그걸 손을 대보기 바란다. 또는 DC가 펄스로 바뀌는데 여기 달려 있는 캐패시터 들이 모두 내압을 버틸 수 있어야 한다. 캐패시터의 내압에 대해서 신경을 잘 안 쓰는 경우도 많은데 용량에 따라 내압이 모두 다르고 사이즈에 따라 다르고 고내압을 가진것과 저내압을 가진 것이 있어서 모두 신경을 써줘야 한다. 이래도 안되면 인덕터가 충분한 전류용량을 가졌는지 확인해보고 바꿔보던가 그래도 안되면 인덕터 또는 파워 초크 로 불리는 놈의 용량값을 올려보기 바란다. L은 로우패스 필터인데 L값을 키울수록 DC만 통과시킬 수 있고 고주파의 감쇄를 더욱 크게 시킨다.
이래도 리부팅이 된다면 DDR RAM과 CPU 상의 패턴이 꼬였거나 혹은 길이가 안 맞거나, 또는 클럭 버퍼나 클럭 라인 외부 인터페이스 라인 등 노이즈를 유발할 수 있는 녀석이 근처 데이터 패턴으로 지나가지 않았나 잘 살펴보기 바란다. 루프를 가지고 클럭이 돌아버리면 이상한 노이즈가 낄 수도 있다. 그래도 잘 안되면 램의 CAS 등의 타이밍을 확인해 볼 것.
설정
트랙백
댓글
글
antipad(anti-pad)
이게 갑자기 왜 나오냐고? DDR2 라우팅을 할 때 시그널 패턴은 이 anitpad의 절반이하로 하라고 layout guide에 나오시는군..
첨부한 자료는 DDR2 Layout guide (routing rule)이다. 잠이 안 오시는 분은 읽어봐도 좋다.
설정
트랙백
댓글
글
A Guide to Memory Timing
A Guide to Memory Timing
The performance and stability of any system depends in part on the memory being used and the settings for the RAM timing. Many users may prefer "xyz" brand, and certainly using brand name memory is a very good idea since low quality memory is often at the root of many stability issues. However, it is also important to pay attention to the timing settings of the memory used.IMPORTANT: Setting memory timings incorrectly could result in lost or corrupted data (resulting in system instability) or boot/post failure. If a system fails to post, default settings can be restored by clearing the CMOS/BIOS via the clear real time clock jumper on the motherboard. Refer to the board manual for the correct procedure.
The topic of memory architecture is too detailed and complex to cover in a single brief article. We will attempt to simplify a portion of the topic that addresses memory timings and how they work.
Typical timing parameters appear as 2-3-2-6-T1 or some variant. So what do these numbers mean?
Before delving into these specific settings, let's first define some common terms used when discussing memory timings.
- RAS - Row Address Strobe or Row Address Select
- CAS - Column Address Strobe or Column Address Select
- tRAS - Active to precharge delay; this is the delay between the precharge and activation of a row
- tRCD - RAS to CAS Delay; the time required between RAS and CAS access
- tCL - (or CL) CAS Latency
- tRP - RAS Precharge; the time required to switch from one row to the next row, for example, switch internal memory banks
- tCLK – ClocK; the length of a clock cycle
- Command Rate - the delay between Chip Select (CS), or when an IC is selected and the time commands can be issued to the IC
- Latency - The time from when a request is made to when it is answered; the total time required before data can be written to or read from the memory.
tRAS
Memory architecture is like a spreadsheet with row upon row and column upon column, with each row being one bank. For the CPU to access memory, it first must determine which row or bank in the memory is to be accessed and then activate that row with the RAS signal. Once activated, the row can be accessed over and over, until the data is exhausted. This is why tRAS has little effect on overall system performance but could impact system stability if set incorrectly.
tRCD
tRCD is the delay from the time a row is activated to when the cell (or column) is activated via the CAS signal and data can be written to or read from a memory cell. When memory is accessed sequentially, the row is already active and tRCD will not have much impact. However, if memory is not accessed in a linear fashion, the current active row must be deactivated and then a new row selected/activated. In such an example, low tRCD's can improve performance. However, like any other memory timing, putting this too low for the module can cause in instability.
CAS Latency
Certainly, one of the most important timings is the CAS Latency, which is also the one most people understand. Since data is often accessed sequentially (same row), the CPU need only select the next column in the row to get the next piece of data. In other words, CAS Latency is the delay between the CAS signal and the availability of valid data on the data pins (DQ). The latency between column accesses (CAS) then plays an important role in the performance of the memory. The lower the latency, the better the performance. However, the memory modules must be able to support low-latency settings.
tRP
tRP is the time required to terminate one row access and begin the next row access. tRP might also be seen as the delay required between deactivating the current row and selecting the next row. So in conjunction with tRCD, the time required (or clock cycles required) to switch banks (or rows) and select the next cell for reading, writing, or refreshing is a combination of tRP and tRCD.
tRAS
tRAS is the time required before (or delay needed) between the active and precharge commands. In other words, how long the memory must wait before the next memory access can begin.
tCLK
This is simply the clock used for the memory. Note that because frequency is 1/t, if memory were running at 100Mhz, the timing of the memory would be 1/100Mhz, or 10nS.
Command Rate
The Command Rate is the time needed between the chip select signal and when commands can be issued to the RAM module IC. Typically, these are either 1 clock or 2.
This covers much of the basic settings for memory and how they work. As mentioned earlier, it is important to understand what timings your memory will support. Refer to your memory vendor’s website or datasheets for more information.
Cautionary Statement
Activities and projects described herein may involve the use of tools and materials that may present health and safety hazards. These must be handled carefully and all tools and products should be used strictly according to manufacturers' precautions and instructions for the safe use of the respective tool or product. The techniques described herein may result in the voiding of manufacturers' warranties. The user assumes all risks associated with the techniques described in this article/guide. THIS INFORMATION IS PROVIDED “AS IS” WITH NO WARRANTY, EXPRESS OR IMPLIED. AMD ASSUMES NO RESPONSIBILITY FOR ANY ERRORS CONTAINED IN THIS ARTICLE/GUIDE AND HAS NO LIABILITY OR OBLIGATION FOR ANY DAMAGES ARISING FROM OR IN CONNECTION WITH THE USE OF THIS ARTICLE/GUIDE.
출처 : AMD
http://www.amd.com/us-en/Processors/ComputingSolutions/0,,30_288_13265_13295%5E13335,00.html
설정
트랙백
댓글
글
환율이 쉬지 않고 오르는군요.
나라가 다 죽어가도 대기업들의 수출이 쑥쑥 늘어나서 자신들에게 안겨다 줄 비자금만 그리고 있는 것일까요? 환율이 오르도록 조장했다가, 마치 불을 질렀는데 예상 외로 불이 번지자 그걸 어떻게든 덮어 보려는 듯이 달러를 풀어서 외환 보유고만 급속도로 줄어들고 말았죠. 지금 이 분위기로 봐서는 당분간 달러가 계속 오를 듯 하네요.
기름값이 어떻게 안 오르고 있는지 그 메커니즘이 조금 신기할 따름입니다.
역으로 얘기하면 제 애드센스 수입이 늘어나기는 하겠지만 어차피 물가도 같이 오를테니 결국은 제 월급이 역으로 줄어드는 효과만 나타나겠죠.
이래서는 언제쯤 부품 구입할 시기를 잡아야 할지..
설정
트랙백
댓글
글
데이터시트란?
데이터시트란걸 처음 접한건 대학교 3학년때 마이크로프로세서 실험 수업을 들으면서 PIC의 데이터시트를 처음 접하게 되었습니다. 필요한 정보는 데이터시트에 다 있으니 데이터시트 보는 것이 아주 중요하다는 교수님 말씀이 그 때 왠지 귀에 담게 되더군요.
일을 하면서 접하는 데이터 시트는 참으로 딱딱하지만 실은 공대인의 연예편지라는 느낌이 든달까요? 수줍게 자신의 스펙을 늘어놓으면서도 실은 정작 중요한 얘기는 빼먹거나 대강 설명해놓거나 틀린 경우가 종종 있어요. 그래서 데이터 시트를 잘 쓰는 회사의 부품이 호감이 간달까요... 데이터시트의 기본적인 틀은 비슷하다고 해도 회사마다 쓰는 방법이 다르거든요.
데이터시트란 하드웨어에 있어서 칩, 부품, 모듈, 보드 등의 특성, 쓰는 법, 인풋, 아웃풋, 담고 있는 것 들을 설명해놓은 것이지요. 처음에는 이게 뭔가 싶기도 하고 천페이지가 넘는 데이터시트를 보면 눈앞이 가물가물해지기도 합니다만 실제로는 양이 많은 데이터 시트는 다 읽을 필요도 없고 별 내용이 없는 경우도 많지요.
이번 프로젝트를 하게 되면 이번에도 꽤나 데이터시트 좀 읽어야 하고, 라이브러리 추출해서 캐드 업체에 넘겨서 풋프린트를 만들어야 하죠. 만약 보드가 안되면 죽어라도 데이터시트를 파면서 고쳐야 한답니다. 하드웨어 작업은 데이터 시트에서 시작해서 데이터 시트로 끝나죠. 부트로더도 거의 데이터 시트에 의존적이예요. 커널도 사실 많은 부분을 의존하죠. 그래서 하드웨어를 한다는건 칩에서 커널, 그리고 드라이버까지를 일컫는 경우가 많고 그걸 기반으로 기능을 구현하는걸 소프트웨어라고 하죠.
아직 부트로더와 커널은 공부중이고, 드라이버는 아직 손도 못대고 있습니다만 결국 하드웨어로써 살아남으려면 이걸 정복해야겠구나라고 생각하고 있답니다.
조금 낯선 이야기죠?
위의 파일은 지금 제가 보고 있는 데이터시트예요. 어크로뱃 리더가 필요하답니다. 이걸 보면 여러분은 어떤 감정이 드시는지?
설정
트랙백
댓글
글
개발자라면 전자 엔지니어를 정기구독 하는건 어떨까요?
위의 주소는 전자엔지니어 주소입니다. 사업자등록증이 있으면 전자엔지니어를 무료로 구독할 수 있습니다. 물론 웹으로도 볼 수 있습니다만 봉투에 담겨서 날아오는 얄팍한 종이책은 오프라인과는 비교할 수가 없죠.
전자엔지니어와 인연을 맺은지 거의 한 3년이 다 되어갑니다. 이전에 다니던 회사에서 정기 구독을 신청했는데 꽤 자주 날아오더군요. 지금도 정확히 어느 주기로 날아오는지는 기억하지 못합니다만 잊을만하면 때 맞춰서 날아오더군요.
처음에는 일이 바빠서 다 읽지 못하고 구석에 쌓아두기만 했습니다. 하지만 어느순간부터 여여유를 찾게되고 그 때부터 읽어보기 시작했는데 꽤나 흥미로운 내용들이 많이 있습니다. 물론 기술 선전도 많고, 광고도 많이 들어있고, 광고 형태의 글도 많이 들어있지만 그래도 시장 동향과 트랜드, 미래의 발전상 같은 것들을 공짜로 때맞춰 읽을 수 있다는 건 크나큰 매력이죠. 게다가 재가 개발하는 내용과 관련되는 것들도 종종 보이는데, 글로벌한 상황 등을 읽고 있으면 굉장한 도움이 된답니다.
대만 Computex에 가봤더니 글로벌 소스(global sources)에 엄청난 미녀분들이 계셔서 놀랐는데 나중에 알고보니 글로벌 소스가 전자엔지니어더라구요.
정기적으로 재구독시기가 되면 신청서가 다시 날아오고 볼펜으로 다시 기입해서 팩스로 보내면 게속 재구독할 수 있습니다. 회사에 다니는 한은 계속 볼수 있는거죠.
내용 자체는 소프트웨어적으로 심화된 내용은 거의 없고, 하드웨어적인 내용과, 칩내용. 임베디드 내용, 기타 솔루션 등 하드웨어쪽에 치우친 이야기를 다루고 있습니다만 그렇다고 할지라도 전체적인 흐림을 읽을 수 있는 좋은 기회라고 생각합니다.
당신도 개발자라면 정기구독해서 여유가 있을 때, 화장실 갈 때 읽어보면 어떨까요?

AN2910.pdf