로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
  AVR Applications
AVR 자료실
작성자 leeky        
작성일 2006/03/07
첨부#1 avr_psk31_modem.zip (0KB) (Down:167)
첨부#2 avr_psk31_pcb_asy.jpg (0KB) (Down:76)
Link#1 (Down:55)
ㆍ추천: 21  ㆍ조회: 1403   
  ATmega8 PSK31 RF Modem의 제작

  ★ 소개
The invention of the “Sound Card Interface” and its associated PC software has opened the door to RTTY, SSTV, PACTOR, and a host of other communications modes to the modern Amateur Radio Operator.  In my AVR contest entry, I present a homemade version of the sound card interface with a radical new twist!  Existing interfaces require manual adjustments to optimize the audio levels between the PC and the transceiver.  My project includes an electronically programmable and adjustable POT that optimizes the audio levels automatically under the control of an Atmel micro controller, the ATmega8.
.
★ PSK31의 개략
PSK31 is an acronym for “Phase Shift Keying, 31 Baud”.  PSK31 was created by Peter Martinez, G3PLX, as a form of modulation that offers a new and higher level of performance in conversational communications (keyboard to keyboard).
.
The basic concept is that you type text into the transmit window, and a receiving station displays your text in their receive windows.  When you are done typing, you switch to receive mode, and your display will show the other station’s response.  PSK31 is similar to the concept of radio-teletype but performs better with weak signals making it suitable for QRP (low power) operations.
.
The PSK31 signal is a full-wave rectified 31 Hz AC envelope containing two pure tones at +/- 15hz from the center frequency.  If the audio is overdriven, we will get intermodulation products that will distort the signal.  The purpose of the PSK31 Adapter is to adjust the signal levels to avoid the distortion products.
.
★ 장치
The PSK31 Adapter is a hardware interface between a PC running a digital communications program, such as DigiPan, and an Amateur Radio transceiver.  The electronically adjustable PSK31 interface is controlled by custom software to provide automated adjustment and optimization of the audio levels that are carried between the PC and the radio transceiver.
.
The PC, running DigiPan, synthesizes a digital waveform that is modulated with the data that the user wishes to transmit.  This modulated signal is passed to the PSK31 Adapter where a digital POT can adjust the volume level that is passed to the radio transmitter.  An RF tap connected to the transmitter’s antenna provides insight into the state of the transmitted signal.  
.
On the receive end, the radio receiver’s audio output is passed through a second digital POT and into the PC for demodulation.  The absolute audio level is compared to a programmed threshold to adjust for a signal level that is too low or too high.
.
The PC’s RS-232 handshake signals are routed through an opto-isolator to generate a Push-To-Talk transmit signal.  The PTT signal is also routed to the PSK31 Adapter to be used to determine if the system is in transmit mode or receive mode.
.
★ 하드웨어 작동원리
◎ 수신
The PSK31 Adapter’s receive firmware is responsible for maintaining a correct receive audio level from the receiver to the PC’s microphone input.
.
The PSK31 Adapter operates by using an internally stored audio threshold for comparison.  Within the adjustment limits of the POT, the adapter will maneuver the audio gain seen by the PC independent of the setting of the receiver’s volume control.  Since there is no feedback between the PC and the adapter, it is not possible to compensate for changes to the PC’s microphone gain.  However, you can visually see the amount of signal available.  I seldom change the microphone input on my PC, so this is not a problem.
.
◎ 송신
The PSK31 Adapter analyses the RF signal and uses the results to automatically maintain an optimum drive level for the transmitters audio/microphone input.
.
The manual transmitter adjustment procedure I use is as follows:
1) Set the RF power to half power or less to prevent overheating of the final amplifier transistors.
2) Set the PC volume to a moderate level.
3) Begin transmitting and view the power output.
4) Adjust either the transmitter microphone gain or the PC volume to the point where RF power stops rising.
.
◎ 그림으로 보여주는 조정점은 아래와 같다.
 
 
The PSK31 Adapter transmitter firmware is designed to mimic this operation.  
The volume/microphone gain can effectively adjust by changing the digital pot.  
.
◎ 소프트웨어
PSK31.c                                - Main Processing Loop
Inputs.h/ Inputs.c                       - External Data Collection Routines
Process.h/ Process.c                    - Data Processing
Adjust.h/ Adjust.c c                     - Volume correction routines
Volume.h/ Volume.c                       - Top level volume control adjustment
Pot.h/ Pot.c                               - Digital POT control via SPI
Spi.h/ Spi.c                                - SPI I/O
Select.h/ Select.c                         - SPI Chip Select
Status.h/ Status.c                        - System Run Time Status via LED
LED.h/ LED.c                              - LED Display Driver
TimeDelay.h/ TimeDelay.c                - Time Delay Routines
AV8_Cals.h/ AV8_Cals.c                 - Calibration Information
Debug.h/ Debug.c                        - Software Development Serial Print
Keyboard.h                               - Keyboard command characters
Serial.h/ Serial.c                         - Serial Processing Functions
AV8_IO.h                                - CPU I/O Definitions
System.h                                - System Level Definitions
SysTypes.h                              - Variable Type Definitions
States.h                                 - System Global Adjustment States
.
★ PSK31 변환회로
◎ 개요
The PSK31 Adapter hardware consists of three major components; an interface to a Ham radio transceiver, a Central Processing Unit, and a power supply.  The interface to the radio transceiver consists of a Rig Interface, an RF interface, and a custom connection cable.  The Central Processing Unit consists of an Atmel ATmega8 CPU, a serial RS-232 interface, and a user interface.  The power supply converts 12 volts to the 5 volts required by the electronics.  Refer to the Schematics appendix for complete circuit information.
.
◎ 무선장비와의 연결장치
The Rig Interface is loosely based on an article published in QST Magazine, “Clean Up Your PSK31 Signal”.  The Rig Interface connects a PC running communications software with a Ham Radio transceiver.  My PSK31 Adapter builds on the current “state-of-the-art” by adding a digitally controlled POT in place of the usual manual POT.  By using digital control, the CPU can automatically adjust the signal levels.
.
The Rig Interface is composed of three sections: Audio Input, Audio Output, and Push-To-Talk.  Audio Input collects the audio signal from the transceiver and runs it through an isolation transformer.  The PC side of the transformer provides digital adjustment and a tap to measure the current audio level.  The PC audio signal is AC +/- 1.0 volts.  Signal conditioning removes the majority of the negative component so that the CPU only sees the positive side of the waveform.
.
The Audio Output section takes the PC’s output audio signal, digitally adjusts its level, runs it through an isolation transformer, and presents it to the transmitter’s microphone input.  The signal sent to the microphone input is AC with a .2v peak.
.
The Push-To-Talk circuit takes the serial interface DTR and RTS signals and uses them to trigger an opto-isolator.  The opto-isolator closes the transmitter’s microphone switch to initiate transmission.  A one-volt signal is available when the PTT signal is engaged.  This signal is routed to an A/D channel on the CPU to detect transmit mode.
.
◎ 무선장비 연결선
The Rig Cable is required to attach a Ham Radio Transceiver to the PSK31 Adapter.  
Two example cables are provided, one for the Kenwood TS-50S and one for the Yaesu FT-847.  
Each additional transceiver could require a specific interface cable to attach the three components of the Rig Interface,
The Speaker/Audio Out, The Microphone, and the Push-To-Talk circuit.
.
On some transceivers the audio out is available on the microphone connector (like on the TS-50S).  
On other transceivers the audio out is available from a speaker jack or a data-out jack (like on the FT-847.)
.
◎ 무선기
The RF Tap is used to obtain feedback on the state of the transmitted signal.  
An Off-The-Shelf SWR bridge was modified to output an analog signal (0-1 volt) proportional to the RF generated by the transmitter.  The analog signal is fed to the CPU for use in adjusting the microphone’s digital pot.

◎ 제어기
The Central Processing Unit is the Atmel ATmega8 using the internal oscillator to run at 4 Mhz.  The CPU is wired based on circuit examples provided on the AVR support CD.  Support circuitry allows for programming via the AVR ISP.  A reset push button switch is also provided.  An external A/D reference voltage is provided to set a maximum conversion reading of 1 volt.  
.
The audio levels are adjusted using a Microchip MCP42100.
The digital pot is wired to and controlled by the CPU’s SPI port.
저장장치     사용용향     총용량        
ROM        ~7896      8192        
RAM        ~462        512        
EEPROM     57         512        

 

◎ 사용자 연결장치
The User Interface controls the final version of the PSK31 Adapter.  Six LEDs provide visual indications of the system’s operation.  Four switches provide manual adjustments to the digital trim pots.  By shorting a series of resistors, four different voltages can be presented to an analog input of the Atmega8 CPU.  This approach saves on what could have been four digital inputs.  Two additional digital inputs select automatic or manual operating mode and initiate a parameter Save operation.
.
◎ 직렬통신 연결장치
The serial interface is used for development and debugging.  The serial interface is contained on an auxiliary circuit board, not shown in the photo, since it is not required in a “production” version of the circuit.  The Serial Interface converts RS-232 signals to/from the TTL levels supported by the CPU (signals RX & TX).  The MAX-232 chip is used as the RS-232 level converter.  Required support circuitry is included.
.
◎ 전원장치
The 5-volt power supply (see schematic appendix) steps 12 volts DC down to 5 volts to power the remainder of the circuitry.  An input voltage of 12 volts was chosen because the typical Amateur Radio transmitter is powered by 12 volts.  It is easy to tap off the 12-volt supply to power the PSK31 Adapter.  The PSK31 Adapter circuit draws approximately 70ma, so the power supply is based on a 100ma 78L05, with required support circuitry.  A diode protects against reverse voltage.
.
★ DigiPan
DigiPan (Digital Panoramic Tuning for PSK31) is one of several popular programs for operating PSK31 and PSK63.  DigiPan provides a panoramic display of the frequency spectrum in the form of a waterfall plot extending the full width of the computer screen.  Depending upon the transceiver IF bandwidth, it is possible to “see” as many as 50 PSK31 stations at one time.  The current version of DigiPan is v1.7.  I currently use DigiPan version 1.6d.  
.
DigiPan is a freeware program that operates on 100mhz 486 (or better) systems that are running at least Windows 95.
DigiPan provides conveniences like stored message buffers, dual channel receive, and QSO logging.  
A screen capture from DigiPan is shown below.  
The waterfall plot at the bottom of the screen shows the “railroad tracks” of a PSK31 signal.
 
 
DigiPan provides menu access to both the PC’s transmit and receive volume sliders to
allow easy adjustments to your signal levels.
The most useful feature for development of the PSK31 Adapter was the large panoramic tuning display.  
During development it was necessary to view the state of my transmitted signal.  
.
The receive text window would show a correct copy of the transmitted text if everything was working properly.
The following DigiPan display was captured when I had low receive volume.  
(The same basic display is seen if the receive volume is low or the sender’s transmitter has low microphone gain.) 
 
 
Note the dim tracks compared to the earlier display.
.
The following DigiPan display was captured when I had high receive volume.
 
 
Note the large amount of noise (yellow) and the blurring of the tracks.  The yellow noise increases due to the receiver volume settings.  The blurring of the tracks could be caused by either high receiver volume or high transmitter microphone gain.
.
★ 작동원리
◎ 수신
The PSK31 Adapter’s receive firmware is responsible for maintaining a correct receive audio level from the receiver to the PC’s microphone input.
.
Too see what we are faced with; let’s first take a look at the PSK31 signal.  The typical receive signal will have an amplitude of +/- 1 volt.  The receive signal can be adjusted in one of three ways:
a)        Change the receiver’s volume.
b)        Change the PC’s microphone gain.
c)        Adjust the Digital POT contained in the PSK31 Adapter.
.
The typical ham radio sound card interface uses a combination of a & b.  The correct volume level can be adjusted by watching the amount of noise displayed on the waterfall plot.  My goal is to automate this process by using option c.
.
The PSK31 Adapter operates by using an internally stored audio threshold for comparison.  Within the adjustment limits of the POT, the adapter will maneuver the audio gain seen by the PC independent of the setting of the receiver’s volume control.  Since there is no feedback between the PC and the adapter, it is not possible to compensate for changes to the PC’s microphone gain.  However, you can visually see the amount of signal available.  I seldom change the microphone input on my PC, so this is not a problem.
 

 
The Yaesu FT-847 has a fixed audio output level of approximately +/- 2 volts AC.  The isolation transformer cuts this amplitude to +/- 1 volt.  The Kenwood TS-50’s audio output level changes as the radio’s volume control is adjusted.  At a comfortable listening level, the TS-50’s audio amplitude is also approximately 2 volts.  So, 1 volt on the PC side of the transformer was used as the voltage level for the system design.  The waveform has the shape shown above but with amplitude of 1volt.
.
The PC side of the receive audio signal is clipped and presented to the CPU for reading and adjusting.  Adjustment to the receive volume is made possible by the incorporation of a digitally adjustable potentiometer that was placed in the receive audio path.  With respect to some midpoint, the PC’s incoming volume can be raised or lowered by the CPU’s commanding of new resistance levels for the pot.
.
◎ 조정은 어떻게 마무리 하는가?
The goal for the receive circuit is to achieve and maintain a target audio level.  The target level is set manually.  By using the waterfall plot on DigiPan as feedback, adjust the receive level for correct operation, then set this threshold by pressing the “save” button.  Now that we have a target audio threshold, the PSK31 Adapter will automatically maintain the selected level as follows:
.
With a 4 Mhz base frequency, the CPU generates an A/D converter sample rate of 400us.  A calibrated sample count of 78 bytes yields a RAM sample buffer that will contain approximately 31ms of data.  This sample size is approximately one complete cycle of the PSK31 audio signal.
.
The audio stream is examined to find the peak value.  I averaged several peaks to account for possible noise on the signal.  The number of peaks to average is contained as a calibration in EEPROM.  The averaged peak value is compared to the upper and lower bounds.
.
If the average is inside the boundaries, then no adjustment is made.  If the average is below the noise floor, no adjustment is commanded.  If the average peak is outside the boundaries, then the digital pot is commanded to move 1 step in the required direction.  The system then waits for the next complete buffer to be analyzed for another adjustment. The maximum adjustment time from stop to stop (0-255) is approximately 8 seconds.
.
My original intention was to make the software compensate for hysteresis in the audio level of the signal.  Initial testing showed that the PC was forgiving of slight mismatches of the audio level.  Also, I found that there is very little “hunting” of the adjustment point once the correct level was achieved.  Given these two discoveries, the receive adjustment routine was left as a simple compare/update.  With the current method the boundaries are not really required.
.
Real world tests with the Kenwood TS-50 show that the PSK31 Adapter is able to maintain the PC audio at an acceptable level as long as sufficient audio is available.
.
◎ 송신
A typical transmit signal will have an amplitude of +/- .2 volts.  The transmitted signal can be adjusted one of three ways:
a)        Change the transmitter’s microphone gain.
b)        Change the PC’s audio output volume.
c)        Adjust the Digital POT contained in the PSK31 Adapter.
.
The typical ham radio sound card interface uses a combination of a & b.  There is no feedback available on the quality of the transmitted signal until you get a report back from another operator.  At the other operator’s direction it is possible to adjust the drive settings.  The bad news is that if you then change any of the settings, you must again get feedback to adjust the signal.
.
The PSK31 Adapter analyses the RF signal and uses the results to automatically maintain an optimum drive level for the transmitters audio/microphone input.
.
A transmitter with a fixed microphone gain, like the Kenwood TS-50, can operate the transmitter by the same principles as receive.  A threshold from the PC to the transmitter of approximately .2-v p-p is stored, and the PSK31 Adapter software operates to maintain the set level.  While it requires experimentation to determine the correct level, once it is set, it is saved, and no further work is required.  This method of operation is available by setting a calibration bit in EEPROM.
.
A more generic transmitter adjustment concept was developed for use with transmitters with variable microphone gain, such as the Yaesu FT-847.  Before the signal can be controlled, the CPU must have access to the transmitted signal.  Shown below is a copy of the transmitted PSK31 signal.

Correctly modulated PSK31 RF signal
.
The SWR Bridge gives a current (0-100ua) proportional to the RF power output of the transmitter.  The SWR Bridge was modified to produce a voltage (0-1V) that corresponds to the RF power output (0-50W).  The SWR voltage is low pass filtered to remove the RF carrier and leave behind the modulated portion of the signal.

 
Correctly modulated RF signal seen at the CPU
.
The manual transmitter adjustment procedure I use is as follows:
1) Set the RF power to half power or less to prevent overheating of the final amplifier transistors.
2) Set the PC volume to a moderate level.
3) Begin transmitting and view the power output.
4) Adjust either the transmitter microphone gain or the PC volume to the point where RF power stops rising.
.
Graphically, the adjustment point is as shown:
 
Audio Adjustment Waveform detail
.
The PSK31 Adapter transmitter firmware is designed to mimic this operation.  The volume/microphone gain can effectively adjust by changing the digital pot.  
While this operation is simple to perform visually and by hand; noise on the RF input signal made detection of the inflection point difficult and made adjustments unreliable.  The signal was examined in search of a pattern that could easily be identified by the CPU.
.
The following figures show an under driven and over driven signal respectively.  The signal is an envelope containing a sine wave, also known as a two-tone test signal.  As the audio input signal becomes too strong, the envelope begins to distort.  To detect the distortion, I compute the actual area under the curve and compare it to the area of a perfect sine wave, computed as .707 times the peak value.  The factor was placed in EEPROM to allow for calibrating this value.  
.
Experimentation showed that .707 was not the correct calibration value because the signal is not a pure sine wave but an envelope around a sine wave.  Further experimentation showed that the actual area under the curve should be computed from the calibration value of .620.  Fixed-point math is used in the CPU to execute this calculation because inclusion of the floating-point library consumed more memory then was available in the processor. 
 
Under modulated RF signal seen at the CPU
.

Over modulated RF signal seen at the CPU
 
.
Now it is possible for the CPU to detect the point where optimum drive is achieved.  Since noise will affect both the peak and the area, this method proved more robust then simply comparing values and looking for the bend in the RF curve.
.
A state machine was built around these calculations.  The state machine increases the volume level until the RF feedback begins to distort.  Once distortion begins, the drive level is decreased slightly and adjustments are considered complete.
.
In operation the RF adjustment software functions as required.  Modification of the transceiver’s microphone gain is met by a corresponding correction to the digital pot.
.
누름-송신
◎ The PTT switching portion of the PSK31 Adapter is responsible for closing the microphone switch to change the transceiver from receive mode to transmit mode.  Digital operating mode programs (such as DigiPan) assert a combination of DTR and RTS to signal the transmit state.  A diode “OR” combines these two signals.  An opto-isolator creates a generic switch closure that should work on any radio transceiver.
.
◎ DSP 설계 원전
The original concept and design for this project called for digital signal processing of the audio signal.  The DSP would compute the intermodulation distortion (IMD) of the signal, and a control algorithm would minimize the distortion.  This concept called for construction of a simple single sideband receiver and the use of complex processing algorithms.    I was able to successfully construct the SSB receiver, but when it came time to do the signal processing, the ATmega8 was unable to handle the required workload.
.
Further experimentation revealed that the method described above, the measurement of thresholds and areas,
was well within the CPU’s capability and capable of acceptable system performance.
The hardware was simplified by the removal of the SSB receiver,
and the CPU clock rate was reduced to allow removal of external components.  
As an added bonus, the reduced CPU speed removed RFI from the ham transceiver.
.
As a legacy to the original design, there are still large analog sample buffers and periodic processing on the buffers.  Since it was easy to adopt the original code to the new concept, the code was not refactored, and the legacy remains.
.
◎ 주 함수 (Main)
The main program loop is a continuous poll of the analog input signals and lower speed input and output of digital signals.
.
◎ 데이터 획득 함수 (Data Acquisition)
Continuous real-time data acquisition is controlled by the FastInputs() routine.  The “forever” loop in the main program file continuously calls FastInputs().  If the ADC buffer is not full, the Fast Inputs routine will return with no action.  If the ADC buffer is filled, the data values are processed to determine the new volume adjustments.  At the completion of the new adjustments, ADC buffer acquisition begins anew.
.
◎ PSK31 변환기의 사용자 연결장치
The PSK31 Adapter provides two user interfaces: one on the RS-232 line for development and debugging and one made up of adjustment switches and LED indicators.
.
◎ 직렬장치 작동
The debugging screen shows the internal states of the adapter and looks kinda like this:
- PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=110 RF=  82 RX=   0  Manual Save=0
PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=116 RF=  85 RX=   0  Manual Save=0
| PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=144 RF=  87 RX=   0  Manual Save=0
/ PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=134 RF=  88 RX=   0  Manual Save=0
- PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=110 RF=  89 RX=   0  Manual Save=0
PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=121 RF=  89 RX=   2  Manual Save=0
| PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=144 RF=  88 RX=   0  Manual Save=0
/ PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=126 RF=  88 RX=   0  Manual Save=0
- PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=109 RF=  88 RX=   2  Manual Save=0
PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=127 RF=  88 RX=   0  Manual Save=0
| PTT=1 Rx- Tx0  RxPot=252 TxPot=101  Jog=147 RF=  88 RX=   0  Auto   Save=0
Peak =  93 Curve =  57 New =  50 Old =  88 Filt =  78
/ PTT=1 Rx- Tx+  RxPot=252 TxPot=101  Jog=255 RF=  50 RX=   0  Auto   Save=0
Peak =  92 Curve =  57 New =  49 Old =  50 Filt =  49
- PTT=1 Rx- Tx+  RxPot=252 TxPot=101  Jog=255 RF=  49 RX=   0  Auto   Save=0
Peak =  91 Curve =  56 New =  49 Old =  49 Filt =  49
PTT=1 Rx- Tx+  RxPot=252 TxPot=101  Jog=255 RF=  49 RX=   0  Auto   Save=0
Peak =  90 Curve =  55 New =  50 Old =  49 Filt =  49
| PTT=1 Rx- Tx+  RxPot=252 TxPot=101  Jog=255 RF=  49 RX=   0  Auto   Save=0
Peak =  90 Curve =  55 New =  48 Old =  49 Filt =  48
.
In normal operation the data is continuously written onto one line.
The expansion is done here for clarity.
Each line begins with a spinner to show activity.  
PTT shows if the system is transmitting (PTT=1) or receiving (PTT=0).
The next two fields symbolically show if the incoming audio is low (<), high (>), or Ok (-).
.
The current position of the trim pots (0-255) is shown for both receive and transmit.  The manual adjustment (Jog) A/D is shown.  Transmission (RF) and Reception (RX) ADC values are shown.  The 10-bit ADC is condensed to 8 bits.  Manual and automatic control mode is shown.  Data save flag is shown.
.
When automatic adjustment transmit mode is active, an additional debug line is shown.  This line shows the highest value in the ADC buffer (Peak), the computed area under the curve (Curve), old and new averages of the ADC buffer (Old and New), and a filtered value calculated from old and new (Filt).  The filtered value is used as the current RF reading value.
.
◎ 다음의 명령의 사용으로 키보드 제어는 완성되었다.
a                Decrease receive volume multiple steps
s                Decrease receive volume single step
d                Increase receive volume single step
f                Increase receive volume multiple steps
j                Decrease transmit volume multiple steps
k                Decrease transmit volume single step
l                Increase transmit volume single step
;                Increase transmit volume multiple steps
p                Show Transmit Volume Percentage
q                Show Receive Volume Percentage
X                Save Calibrations
v                Dump the ADC buffer
m                Toggle Automatic and Manual Modes
.
★ 사용자 제어
◎ 자동/수동
The Auto/Manual switch enables the ATmega8 controlled automatic adjustment of the audio levels. 
In manual mode the levels change only under the direction of the Jog controls.
.
◎ 저장
The Save button causes the current POT settings and the audio thresholds to be saved into EEPROM.  
At startup these settings are used as the starting point for future adjustments.
.
◎ 미세 조정 (Jog)
Manual adjustment to the digital Pots is accomplished by using the “Jog” buttons.  
There is an up and a down for each of transmit and receive.  Pressing the appropriate button adjusts the pot
in the commanded direction.  Holding the button causes the change rate to accelerate slightly.  
The approximate audio level can be determined by watching the status LEDs.
.
◎ 표시
The normal operation display consists of six LEDs separated into three receive indicators and three transmit indicators.
The center (OK) LED lights to indicate if the system is in receive mode or transmit mode.
In Automatic Adjustment mode the L or H LED will blink to indicate that the digital POT is adjusting
in the indicated direction.  If the POT is at its upper or lower limit, the L or H LED will be continuously lit.
.
In Manual Adjustment mode, zero through 6 LEDs flash to show the approximate amount of the range
of the digital pot that is in use.  The example below shows a digital pot count between 180 and 215 counts.
Both OK LEDs blink to show that the calibration values are being saved.
.
★ 소프트웨어 도구
The Software was developed in C using the following tools:
AVRedit         Version 3.5
Gcc                Version 3.5
AVR Studio        Version 3.56
.
The brain of this project is the embedded firmware that controls the analog data acquisition, signal processing, and feedback control to automatically adjust the audio levels for PSK31 operation.  The software contains a high speed processing loop called from a slower main background loop.
.
★ PSK31.c  - 주 처리 함수
The command loop (see main() below) initializes the system and then continuously processes the Analog inputs that come from either Receive Audio or transmitted RF (FastInputs()).  Periodically the digital inputs are examined (SlowInputs()), and computed adjustments are made (AutoAdjust()). The volume controls are adjusted inside the FastInputs() routine.
.
int  main(void)
{

   init();
   Delay_Start(TIMER_START_100ms);  //Start First Time Delay

   for (;;) {              /* loop forever */
      FastInputs();        //Get the Time Critical (analog) inputs
      AutoAdjust();        //Adjust the Volume Controls
      
      if ( Delay_Complete() )  {
         SlowInputs();     //Get Non-Time Critical Inputs

         if (StatusLED)   DisplayStatus();        //Update Display Status variables
         if (StatusLED)   LED_Loop();                //Refresh the LEDs

         if (DebugPrint)  Debug_Print();        //Print status to RS-232


         Delay_Start(TIMER_START_100ms);
      }

   }
}
.
The code segment shows the use of two calibrations StatusLED and DebugPrint.  
These and other calibrations enable various portions of the software.  
Delay_Start() and Delay_Complete() create an asynchronous timer.  
When the delay signals complete, the slower portion of the loop will run.  
On all loops the fast inputs and auto adjustment routines run.
The fast inputs are throttled by the interrupt driven ADC buffer filling routine.  
Adjustments are only made from the data in a full conversion buffer.
.
◎ Inputs.h/ Inputs.c  - 외부 데이터 수집 함수
The input module provides access to the peripherals in the ATmega8 CPU.  Functions are provided to access 8 and 16 bit analog values and digital inputs.  Analog to Digital Conversion buffer control is provided to allow interrupt driven collection of an array of analog inputs.  When the ADC buffer is filled, the fast inputs routine will call the appropriate analog processing routine.  Digital inputs are filtered to debounce and are coded to allow calibration overrides. Flowcharted below is the main processing of the analog signals that occurs in the function FastInputs().
 

In Automatic Mode the ADC buffer conversion completion is checked.  If the buffer is not full, we asynchronously wait for completion.  When the conversion buffer is filled, the PTT signal is read, filtered, and possibly overridden.  If receive is selected, the ADC buffer is processed to determine the peak value.  If transmit is selected, the ADC buffer is processed to determine the match to the area under the curve.  After processing is completed and the volume adjustments have been determined, the conversion of another ADC buffer is initiated.
.
In Manual Mode the PTT signal is read, filtered, and possibly overridden.  If receive is selected, the ADC buffer is synchronously filled with audio samples and processed to determine the peak value.  A single RF sample and a single manual adjustment sample are collected for debugging purposes.  If transmit is selected, the ADC buffer is synchronously filled with RF samples and processed to determine the match to the area under the curve.  A single receive sample and a single manual adjustment sample are collected for debugging purposes.

◎ Process.h/ Process.c  - 데이터 처리
The processing functions are responsible for analyzing the analog data buffer to determine what corrections, if any, should be applied to the volume controls.  Processing occurs on only one channel at a time, the active channel of Transmit or Receive.
.
◎ 수신 데이터 처리
The receive audio level adjustment is determined in the function ProcessBufferPeaks().  The audio level is set by matching the current receive audio level to the threshold that is stored in EEPROM.  The ADC buffer is sized to hold one complete PSK31 audio waveform.  The waveform buffer is processed to eliminate noise by selecting a (calibrateable) number of the largest samples and averaging them together to determine the peak value.  
.
Upper and lower bounds are placed about the desired threshold to prevent constant adjustment if the receive value fluctuates.  The PC is forgiving of slight deviations from optimum so precise receive adjustment is not necessary.  The dead band about the threshold is programmed as a calibration in EEPROM.  Receive adjustments continue to be made during the entire receive cycle.
.
◎ 송신버퍼 처리 (Tx buffer)
Under calibration control, transmission processing can use the same algorithm as receive processing.  This option can be used if the transmitter has a fixed microphone gain.  A more universal Transmitter adjustment method is controlled by the function ProcessRfCurve().  The theory of how adjustment is accomplished was discussed earlier.  Here the state machine that performs the adjustment is presented.  Remember that the goal is to match the area under the PSK curve to the area computed from the maximum value.
 

◎ 신규 송신 싸이클 (New Tx Cycle)
The New Transmit Cycle begins when the system switches from receive mode to transmit mode.
.
◎ 송신 지연 (Tx Delay)
The Transmit Delay state imposes a wait for a calibrated number of waveform cycles.  This delays adjustment of the transmitter gain until the transmitter has engaged and DigiPan has began modulating the audio.
.
◎ 송신신호 증가 (Increase Drive)
Transmitter adjustments begin by Increasing the Drive gain until the areas under the curve match.  When the areas match or the gain is too high, we will switch to the next state.
.
◎ 송신신호 감소 (Decrease Drive)
In the event that the gain is/was too high, it is necessary to have a state to reduce the transmitter gain.  The Decrease Drive state reduces the transmitter drive until the computed area under the curve is less then the area determined from the peak.
.
◎ Back Off Drive
The Back Off Drive state allows a calibrated final change to be made to the volume control.  Since it is better to have the drive a little low then too high, the system is programmed to back off the transmitter gain a few counts after the maximum gain is found.
.
◎ 종료 (Done)
The final state is Done.  The system stays in this state after the transmitter gain has been adjusted.  No further transmitter adjustments will be made until the next new transmit cycle.
.
◎ Adjust.h/ Adjust.c c  - 음량보정 함수(Volume correction routines)
The Adjust module changes the volume controls under either automatic or manual control.
Under automatic control the processing routine sends +1, -1, or 0 each loop to be applied to the volume controls.  The appropriate LED is flashed to show that volume adjustments are being made.
.
Under manual control the analog input voltage of the JOG input is read and compared to determine which adjustment is being requested.  Holding an adjustment button switches to a larger adjustment value.  
A set of LEDs are flashed to indicate where (0-255) the volume control now is.
.
◎ Volume.h/ Volume.c  -  음성조절기
The volume control routines are used to control the Volume Levels implemented by the Digital Potentiometer.  (MCP42100).  Functions are provided to increase, decrease, clear, and read the volume levels for transmit and receive.
.
◎ Pot.h/ Pot.c   - SPI에 의한 디지털 조절장치 제어
The POT functions send commands to the digital pot via the CPUs SPI port.
.
◎ Spi.h/ Spi.c  - SPI 입출력
The SPI functions send generic commands to the SPI port and receive the returned status byte.
.
◎ Select.h/ Select.c  - SPI 칩 선택
The select function enables and disables the Chip Select that controls the digital pot.
.
◎ Status.h/ Status.c  - 작동시간 표시
The Status functions determine the internal operating states of the PSK31 Adapter.  The internal states are passed to the LED routines for display to the user.
.
◎ LED.h/ LED.c   - LED 표시
The LED functions control lighting clearing and blinking of the six LEDs that are used to show the current operating conditions of the PSK31 Adapter.  The LED routines are called by the Status routines.
.
◎ TimeDelay.h/ TimeDelay.c   -시간지연 함수
The Time Delay functions provide both synchronous and asynchronous time delays of various intervals.
.
◎ AV8_Cals.h/ AV8_Cals.c  - 교정 안내
The Calibration functions store and retrieve calibration and operating data from the ATmega8’s internal EEPROM.  The most used calibrations are the digital pot set points and the volume thresholds.  A save command stores these values.  Subsequent reset cycles recall this data for use as the starting point for further adjustments.  Other calibrations provide a wide variety of system operations from debugging to system tuning.
.
System development and debugging is aided by function enables and function overrides.  Most functions can be enabled or disabled to control the execution paths of the software.  It is possible to force the system to assume states for hardware inputs when the external hardware is not connected.
.
Filter coefficients are included in the calibration data.  These calibrations allow tuning of the software without having to recompile the operational code.  The current calibrations are tailored for PSK31 operation.  It should be possible to select other calibrations for operating modes such as Slow Scan TV and Radio Teletype.  Partial calibrations are provided to support these future modes.
.
Incomplete functions are included that would apply a checksum to the calibration data to insure data integrity.  Corrupted calibration data would be replaced by known good calibration values.
.
◎ Debug.h/ Debug.c  - 소프트웨어 개발
The debug routines format serial data to aid in development and debugging.  This debug data is output to the RS-232 port.
.
◎ Keyboard.h  - 키보드 명령문자
The Keyboard header file defines the ASCII characters that are used to execute the keyboard commands.
.
◎ Serial.h/ Serial.c   - 직렬통신 처리함수
The serial routines enable RS-232 input and output.  The serial display routines output debug information to a terminal.  Serial inputs can be used in place of the input switches.  See the Serial Port Operation section of this report for details on the displayed messages and the serial commands.
.
◎ AV8_IO.h   - 제어기 포트 정의
This header file contains bit definitions for control of the internal CPU hardware I/O.
.
◎ System.h  - 장치수준 정의
The System header file defines the CPU clock rate and the RS-232 Baud rate.
.
◎ SysTypes.h  - 변수종류 정의
The SysTypes header file contains definitions of the CPU’s internal memory types.
.
◎ States.h  -광역변수 조절상태
The States header file contains global variables that indicate what volume adjustments are currently in progress.
.
★ 완성된 소스코드
The complete collection of source code for the PSK31 Adapter is contained in a separate directory in the .zip file used to submit this project.  The code is organized with Main(), in the file PSK31.c, followed by the additional files containing my unique code.
.
PSK31.c                         - Main Processing Loop
AV8_IO.h                       - CPU I/O Definitions
System.h                       - System Level Definitions
SysTypes.h                     - Variable Type Definitions
AV8_Cals.h/ AV8_Cals.c       - Calibration Information
States.h                        - System Global Adjustment States
Adjust.h/ Adjust.c c           - Volume correction routines
Debug.h/ Debug.c             - Software Development Serial Print
Inputs.h/ Inputs.c              - External Data Collection Routines
LED.h/ LED.c                    - LED Display driver
Pot.h/ Pot.c                     - Digital POT control via SPI
Process.h/ Process.c           - Data Processing
Select.h/ Select.c               - SPI Chip Select
Keyboard.h                     - Keyboard command characters
Serial.h/ Serial.c                - Serial Processing Functions
Spi.h/ Spi.c                      - SPI I/O
Status.h/ Status.c              - System Run Time Status via LED
TimeDelay.h/ TimeDelay.c       - Time Delay Routines
Volume.h/ Volume.c             - Highest level volume control adjustment
.
★ 디지털 작동 모드 (Digital Operating Modes)
PSK31 is operated on the following frequencies in the various ham bands using lower sideband.  Signal separation can be as little as 100hz.
.
PSK31 통신에 추천된 주파수
        1838.150 kHz                160 meters
        3580.150 kHz                80 meters
        7080.150 kHz                40 meters
        10142.150 kHz                30 meters
        14070.150 kHz                20 meters
        18100.150 kHz                17 meters
        21080.150 kHz                15 meters
        24920.150 kHz                12 meters
        28120.150 kHz                10 meters
.
In general your output power should be less then half the rated power of your transmitter when operating digital modes.  For example my 100 watt transceiver should run less then 50 watts.  This is because the rated power is stated expecting voice or CW operation.  Voice and CW modes have a low transmit duty cycle, while digital modes have a 100% duty cycle.  This high duty cycle will overheat the final amplifier if reduced power is not used.
I typically run about 35 watts, and I have little trouble communicating with the stations that I hear.
.
★ 향후의 방향
A few modifications are available for the future of the PSK31 Adapter:
-        Shielding for Radio Frequency Interference (RFI).  At low power (<10w) the interface works as desired.  However, as the RF power is increased to the normal operating level of 50w, the PSK31 Adapter gets swamped with RF and transmits a distorted signal instead of the properly modulated PSK waveform.  This problem should be resolved when the interface is changed from a wire-wrapped prototype into a completed unit contained in a shielded enclosure.
.
-        Support of additional Digital Communications modes.  The current input sampling size is optimized for the PSK31 audio signal.  Additional modes such as Slow Scan TV (SSTV) and Radio Teletype (RTTY) may require different unique sampling intervals.  It would be nice to support all of these different communications modes and automatically select the correct sampling parameters.
-        Combine the modified SWR bridge circuit into the completed project.
-        Addition of a Microphone connection.  
(To alleviate the need to swap connectors when going from Voice to Digital modes.)
.
★ 참고문헌 (Resources)
Atmel, “AVR450: Battery Charger for SLA, NiCd, NiMH and Li-Ion Batteries,”
-www.atmel.comDoc1659.pdf
DeMaw, Doug, W1FB, “QRP Notebook”, American Radio Relay League, 1986.
Digital Panoramic Tuning for PSK31 (DigiPan) v1.6d.  www.digipan.net
Kruis, Richard, K8CAV, “Clean Up Your PSK31 Signal,” QST, February 2001, pp.88-89.
Noakes, John D., VE7NI, “The No Fibbin RF Field Strength Meter”, QST, August 2002, pp. 28-29.
PSKMeter, www.ssiserver.com/info/pskmeter, QST February 2004, pp. 66.
West Mountain Radio, “RIGblaster Owner’s Manual”
www.westmountainradio.com
Digital Photos by 121 PC Care.  www.121PcCare.com
.
★ 완성된 회로도
The schematic is divided into functional areas.  The context diagram shows the relationship between the various portions of the schematic.  Off Page markers indicate interconnections between the various sheets of the schematic.
.
★ 회로도
◎ 관계 (Context)  - 뭉치의 내부연결 기준
 
 
◎ Rig Interface  - 송수신기와 PC 연결장치
 
 
◎ Rig Cable  - 특정 송수신기 연결 케이블
 

◎ RF Tap  - 무선 궤환 회로
  

◎ CPU  - (ATmega8 제어기 회로)
 
 
◎ User Interface  - (사용자 조정장치)
 
 
◎ Serial Port  - (직렬통신)
 
 
◎ Power Supply  - (5볼트 전원공급)
 

◎ 칩 배치 (Chip Placement  - 조립도)
 

원저자 : http://www.circuitcellar.com/
   
윗글 ISO 14443A RFID 카드의 읽기/쓰기 방법
아래글 T89C51SND1C 64M USB MP3 플레이어
    N         제목    글쓴이 작성일 조회 추천
AVR 자료실 안내 avrtools™ 2008/09/02 (화) 307 0
97 AVR Basic Compiler (4K Free) avrtools™ 2008/12/03 (수) 234 0
96 코드비젼 V2.05.0 평가판 avrtools™ 2011/07/17 (일) 159 0
95 8x8 LED Audio Spectrum Display avrtools™ 2009/10/18 (일) 274 0
94 AVR 펌웨어로 만드는 USB 드라이버 avrtools™ 2009/10/07 (수) 467 0
93 AVR-CDC and V-USB avrtools™ 2009/10/06 (화) 246 0
92 AVR USB-HID-Bootloader의 제작 avrtools™ 2009/10/01 (목) 281 0
91 AT91SAM7S256 개발환경과 컴파일러 [2] avrtools™ 2008/11/03 (월) 2208 0
90 SAM7S256 USB 드라이버와 AT91-ISP avrtools™ 2008/11/01 (토) 1201 0
89 AT91SAM7S256 공부를 시작합니다. avrtools™ 2008/11/01 (토) 599 1
88 ICCAVR V7.16A AVR 컴파일러 45일판 avrtools™ 2009/03/09 (월) 151 0
87 CodeVisionAVR1248b 最新版下载 leeky 2008/11/08 (토) 325 0
86 AVR UART 소스 (ICC AVR V6) avrtools™ 2008/12/03 (수) 208 0
85 cvAVR Soft Uart Source avrtools™ 2008/12/03 (수) 169 0
84 cvAVR 직렬포트와 LCD 시험용 소스 avrtools™ 2008/12/03 (수) 173 0
83 Free SmallC for AVR avrtools™ 2008/12/03 (수) 198 0
82 AVR910-ISP용 AVR-OSP2 Ver5.43 avrtools™ 2008/12/03 (수) 193 0
81 Code Vision AVR 컴파일러 2K 데모버전 avrtools™ 2008/12/02 (화) 126 0
80 AVR delay loop generator avrtools™ 2008/12/02 (화) 178 0
79 ICC tiny C컴파일러 V6 데모버전 (30일 제한판) avrtools™ 2008/12/02 (화) 90 0
78 ICC AVR C 컴파일러 V6 (4K 제한판) avrtools™ 2008/12/02 (화) 115 0
77 DasmAVR (Windows용 AVR 역어셈블러) avrtools™ 2008/12/02 (화) 173 0
76 AVR PROG KIT avrtools™ 2008/12/02 (화) 199 0
75 AVR JTAG ICE KIT avrtools™ 2008/12/02 (화) 286 0
74 AVR 부동소수점, 지연시간 계산기 avrtools™ 2008/12/02 (화) 197 0
73 ATtiny45 USB to RS232 인터페이스 avrtools™ 2008/09/26 (금) 226 0
72 MEGA32 128x64 GLCD Scope 제작 avrtools™ 2008/09/22 (월) 334 0
71 PC송신방식 Tiny2313 50x7 LED 전광판 avrtools™ 2008/09/10 (수) 289 0
70 mega8 적외선 거리측정 레이더 leeky 2006/05/07 (일) 1400 0
69 ATmega16 RFID #3 소프트웨어 leeky 2006/12/27 (수) 908 0
68 ATmega16 RFID #2 하드웨어 leeky 2006/12/27 (수) 1155 0
67 ATmega16 RFID #1 태그 leeky 2006/12/27 (수) 886 0
66 ISO 14443A RFID 카드의 읽기/쓰기 방법 [1] leeky 2007/02/25 (일) 1518 1
65 ATmega8 PSK31 RF Modem의 제작 leeky 2006/03/07 (화) 1403 21
64 T89C51SND1C 64M USB MP3 플레이어 avrtools 2006/03/04 (토) 1012 8
63 AVR 13.56MHz RFID 읽기/쓰기 장치의 제작 [7] leeky 2007/02/19 (월) 1078 4
62 WhereAVR for APRS GPS/Telemetry avrtools 2006/05/05 (금) 419 2
61 ATmega8 UI-TNC 무선모뎀의 제작 avrtools 2006/03/07 (화) 421 0
60 AVR APRS(GPS) Packet 무선모뎀 avrtools 2006/03/07 (화) 412 0
59 AT90PWM3 교류모터 속도제어 leeky 2006/04/07 (금) 967 1
58 M128 MMC LED 전광판 leeky 2006/03/07 (화) 949 0
57 Charon 2 이더넷 모듈의 소개 avrtools 2006/04/04 (화) 506 0
56 S2313 LED 회전계 (TACHO METER) avrtools 2006/03/28 (화) 623 0
55 Mega8 + 128x128 LCD 스코프 avrtools 2006/03/28 (화) 1212 0
54 Mega8 + OV6630 Treva 모바일용 카메라의 화상처리 leeky 2006/03/19 (일) 818 0
53 YUKI Mega8 MP3 Player #3 avrtools 2006/03/11 (토) 868 0
52 AVR JTAG 에뮬레이터의 제작 avrtools 2006/03/07 (화) 873 0
51 USB AVR 프로그래머 AvrUsb500 avrtools 2006/03/07 (화) 757 1
50 Mega88 USB 버스 모니터 avrtools 2006/03/07 (화) 413 0
49 M16 MMC Flash Memory leeky 2006/03/07 (화) 483 1
48 M163 SD,MMC Interface leeky 2006/03/07 (화) 467 0
47 S2313 MMC to Serial leeky 2006/03/07 (화) 343 0
46 ATmega48 UDP/IP 적외선 리모콘 수신장치 avrtools 2006/03/07 (화) 444 0
45 HDD MP3 플레이어 leeky 2006/03/07 (화) 624 0
44 MP3 yampp-3/USB leeky 2006/03/07 (화) 315 0
43 MP3 Player yampp-3 leeky 2006/03/07 (화) 281 0
42 YUKI MP3 플레이어2의 제작 (ATmega8 + SD Card) avrtools 2006/03/07 (화) 410 0
41 AVR CD 플레이어 leeky 2006/03/07 (화) 562 0
40 S2313 초음파 거리계 (미터, TV 스크린, LED 표시) avrtools 2006/03/07 (화) 575 0
39 RF Spectrum Monitor avrtools 2006/03/07 (화) 415 0
38 Easy Ethernet AVR 웹서버 leeky 2006/03/07 (화) 481 0
37 90S4433 LCD표시 100Mhz 주파수 카운터 leeky 2006/03/07 (화) 275 0
36 ELM Audio Spectrum Monitor avrtools 2006/03/07 (화) 388 0
35 Mega8 Door Bell leeky 2006/03/07 (화) 303 0
34 AVR 휴대용 DVM leeky 2006/03/07 (화) 529 0
33 Minimum Mass Waveform Capture and Display leeky 2006/03/07 (화) 286 0
32 AT90S2313 디지털 용량계 avrtools 2006/03/07 (화) 391 0
31 SLO2016 Alphanumeric Intelligent Display leeky 2006/03/07 (화) 197 0
30 AT90S2313 흔드는 LED 전광판 (POV) leeky 2006/03/07 (화) 450 0
29 ATtiny2313 Scrolling LED Sign avrtools 2006/03/07 (화) 386 0
28 Tiny22,S1200 나이트 라이더 avrtools 2006/03/07 (화) 337 0
27 ATtiny26L의 AD 변환과 PWM 출력제어 leeky 2006/03/07 (화) 533 0
26 S2313을 사용한 DS1820 온도계 leeky 2006/03/07 (화) 290 0
25 ATmega8535 온도센서 leeky 2006/03/07 (화) 318 0
24 AVR2313 100MHz RF연결 주파수 측정메터 avrtools 2006/03/07 (화) 222 0
23 VHF 무선 데이터 송신기 leeky 2006/03/07 (화) 525 0
22 90S2313 1MHz 파형 포착기 leeky 2006/03/07 (화) 257 0
21 VHF 무선 데이터 수신기 avrtools 2006/03/07 (화) 412 0
20 AVR 5x7 Dotmatrix LED leeky 2006/03/07 (화) 261 0
19 Mega163 웹 LCD leeky 2006/03/07 (화) 415 0
18 AVR 이더넷 시험소프트 avrtools 2006/03/07 (화) 336 0
17 AVR 넷트웍 시계 (타임 프로토콜) avrtools 2006/03/07 (화) 403 0
16 RS-232 to 100 MHz RF desktop avrtools 2006/03/07 (화) 261 0
15 AVR 6디지트 50MHz 주파수 카운터 leeky 2006/03/07 (화) 239 0
14 AVR DS1820 온도센서 avrtools 2006/03/07 (화) 282 0
13 AVR 직접주파수 발생기 (AT90S2313 DDS) avrtools 2006/03/07 (화) 423 0
12 프로그래머블 PLL 제어 avrtools 2006/03/07 (화) 259 0
11 AVR AT90S2313 7Segment LED Display leeky 2006/03/07 (화) 239 0
10 TINY15L 무전원 4채널 온도계 avrtools 2006/03/07 (화) 358 0
9 8PIN AVR을 사용한 풀컬러 LED leeky 2006/03/07 (화) 392 0
8 DS1820 고분해능 온도계 avrtools 2006/03/07 (화) 366 0
7 S2313 디지털 전압계 avrtools 2006/03/07 (화) 489 0
6 S2313 적외선 USB 모듈 avrtools 2006/03/07 (화) 352 0
5 S2313 주파수 카운터 avrtools 2006/03/07 (화) 285 0
4 AVR90S2313과 Treva 카메라의 연결 leeky 2006/03/07 (화) 336 0
3 Mega8 PID 온도제어 leeky 2006/02/24 (금) 709 1
2 90S2333 3채널 다이오드 온도계 avrtools 2006/02/24 (금) 262 0
1 AT89S8252로 만드는 1~40MHz DDS leeky 2006/02/14 (화) 331 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0