|
principles projects CNMI-Guam old projects |
Testing the RAD-CELFDave's tutorial to clarify the AD9854 internal register programming is here. 6/27/17 (Pierre) css from previous download did not work. starts from scratch with 4.1.1 obtained from reference in www.github.com/petermilne: https://ics-web.sns.ornl.gov/css/ 6/27/17 (Pierre)
set.fanspeed 100 10/27/16 (Ian)
10/25/16 (Pierre) Progress forward testing during October-November: assess performance difference between direct connection of Vectron ultra-low-phase noise OCXO, and clock-remapped Connor-Windfield on-board low-cost OCXO. Tasks:
Task assigments:
10/15/16 (exchange of email with Dtacq re. channel map 10/18/16 (Everyone) DDS B trigger issue We found that we can no longer use DDS B as a reference for making the trigger pulse at sync P21. It only works now using DDS A 10/14/16 (Pierre's email & Isaac) making an acquisition with the A2D Summarizing Pierre's previous email, the commands we need to make an acquisition are: set.site 0 SYS:CLK:FPMUX=FPCLK % set the external clock
set.site 1 trg=1,0,1 % trigger (external, source d0, rising)
set.site 1 clk=1,0,1 % clock (external, source d0, rising)
set.site 1 hi_res_mode 1 % enable high resolution mode
set.site 1 ACQ43X_SAMPLE_RATE 12207% by setting sampling frequency to 12 KHz
% clock division (clkdiv) is automatically calculated
DURATION=500
% launch a time bomb in background
(sleep $DURATION; set.site 0 set_abort )&
nc localhost 4210 > $OUTFILE % $OUTFILE: directory/filename of the acquisition
10/14/2016 (Everybody) Running 100Hz signal generator through the breakout board to the ACQ435 (A2D) board. Dave's notes here. 10/13/16 (Isaac & Ian) DDS interaction with the ACQ435 board We connected the trigger (UFL connector P21) and the clock (P6 test point) from the RADCELF (DDS) to the ACQ435 (A2D) board. After that...
echo 004F0041 > /dev/radcelf/ddsC/CR
echo 155555555555 > /dev/radcelf/ddsC/FTW1
echo 004F0041 > /dev/radcelf/ddsC/CR
set.site 8
CSPD 02
UPDATE 01
set.site 2 ddsB_upd_clk_fpga=1
echo 004F0061 > /dev/radcelf/ddsB/CR
echo 172B020C49BA > /dev/radcelf/ddsB/FTW1
echo 0000000022E7 > /dev/radcelf/ddsB/DFR
echo 01E0A6E0 > /dev/radcelf/ddsB/UCR
echo 000001 > /dev/radcelf/ddsB/RRCR
echo 0FFF > /dev/radcelf/ddsB/IPDMR
echo 0FFF > /dev/radcelf/ddsB/QPDMR
echo 004C8761 > /dev/radcelf/ddsB/CR
Kaka'ako's paramaters:
radar frequency = 27.3 MHz
bandwidth = 300 KHz
chirp length = 0.21 sec
set.site 4 CR 004F8741
set.site 2 ddsB_upd_clk_fpga=0
set.site 0 fpctl_sync=b
When looking at the trigger pulse with the scope we noticed there was a little modulation of 25 MHz that corresponds to our clock (I think nothing to worry about). 10/12/16 (Ryan & Chuy) CSS (Control System Studio)
10/12/16 (Isaac & Ian) Trigger pulse at Sync P21
set.site 2 ddsA_upd_clk_fpga=0
set.site 2 ddsA_upd_clk_fpga=1 10/11/16 (Isaac & Ian) Chirp mode operation
10/10/16 (Isaac & Ian) Modifying I and Q amplitudes
To change frequency during chirp mode
query to d-tacq about BPSK
10/08/16 (Isaac) Issues while programming the chirp
00000000 01001111 00000111 01000001 This should give a chirp based at 20 MHz, with 50 kHz bandwidth, length 0.52 s. Once the chirp mode was "enabled"...
As we noticed that after enabling the chirp mode no command was responding we decided to find a way to reset the DDS values to the default. For this purpose we used the following command: /usr/local/init/RAD-CELF-init This actually kind of work in the sense that it resets the frequency but some parameters still remain unchanged in the web page. The question is why they still appear in the web page and why we cannot execute them?
reboot Still we never saw the chirp 10/03/16 (Isaac) We only worked using the Ovened Osc
set.site 7 % enable communication with the AD9512 primary clock
DIV1 0000 % disable bypass and divide by 2 for output 1 (AD9854 Remap)
DIV0 0000 % disable bypass and divide by 2 for output 2 (AD9512 secondary clock)
UPDATE 01 % execute the last command
set.site 7 % enable communication with the AD9512 primary clock
DIV1 0000 % disable bypass and divide by 2 for output 1 (AD9854 Remap)
DIV0 0000 % disable bypass and divide by 2 for output 2 (AD9512 secondary clock)
DIV2 0000 % disable bypass and divide by 2 for output 2 (AD9512 secondary clock)
UPDATE 01 % execute the last command
set.site 6 % enable communication with the AD9854 Remap
CR 00500041 % instruction to set Kp to 16 (see page 33 in
AD9854 DDS manual)
FTW = (Desired Output Frequency × 2^N)/SYSCLK
= (10MHz x 2^48)/(20MHz x 1/2 x 16)
= 2^48/2^4
= 2^44
= 17592186044416
= 100000000000 in Hex
set.site 6 % enable communication with the AD9854 Remap
FTW1 100000000000 % sets frequency to 10 MHz using Kp multiplier of 16
DDS board: Attach:DDS_Board.jpg Δ Δ 10/02/2016 (Peter Milne) how do we modify /etc files in a non-volatile way? Crude way:
You asked about ssh keys? Please use the custom_ssh package. You'll have to mod it to include your keys:
Next boot, it gets unzipped to the right place. You get your new keys, we get to keep our old keys (useful, just in case). For your entire customization, you have two choices:
In general, the package way makes for better maintenance, especially when you have a large population, so, recommended. I'd recommend doing the stuff that really is common in a package, keep only the most limited customization for /mnt/local/rc.user 9/30/16 (Isaac) Clocks parameters:
Frequency = 20MHz
Pk-Pk voltage = 1.20 V (without 50 Ohms terminator)
Pk-Pk voltage = 512 mV (50 Ohms terminator)
Frequency = 25MHz
Pk-Pk voltage = 2.15 V (50 Ohms terminator)
Pk-Pk voltage = 432 mV (3 dBm attenuator + 50 Ohms terminator)
Input Pk-Pk voltage should be less than 2 V
set.site 7 % enable communication with the AD9512 primary clock
CSPD 05 % power down clock 2 and enable clock 1 (binary 101)
UPDATE 01 % execute the last command
set.site 7 % enable communication with the AD9512 primary clock
CSPD 02 % power down clock 1 and enable clock 2 (binary 10)
UPDATE 01 % execute the last command
Example: set.site 7 % enable communication with the AD9512 primary clock
DIV1 0000 % disable bypass and divide by 2 for output 1 (AD9854 Remap)
DIV0 0000 % disable bypass and divide by 2 for output 2 (AD9512 secondary clock)
UPDATE 01 % execute the last command
9/30/16
set.site n
n= chip
4 AD9854-A primary TX
5 AD9854-B secondary RX
6 AD9854-C clock remap
7 AD9512-1 int/ext clock select
8 AD9512-2 direct/remap clock select
9/29/16
screen /dev/ttyUSB4 115200
/dev/root 16245 14986 440 97% /
devtmpfs 513276 24 513252 0% /dev
tmpfs 516720 92 516628 0% /dev/shm
/dev/mmcblk0p1 3864064 186400 3677664 5% /mnt
tmpfs 516720 92 516628 0% /var/www/d-tacq/data
mkdir /mnt/usbkey
mount /dev/sda1 /mnt/usbkey
mkdir /mnt/sunset0
mount -t nfs -o nolock 172.16.1.9:/export/sunset0 /mnt/sunset0
mkdir /mnt/nuc
mount -t nfs -o nolock 172.16.1.227:/home /mnt/nuc
/mnt/local/rc.user Processor characteristics: acq1001_068> cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 0 (v7l) Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc09 CPU revision : 0 processor : 1 model name : ARMv7 Processor rev 0 (v7l) Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc09 CPU revision : 0 Hardware : Xilinx Zynq Platform Revision : 0000 Serial : 0000000000000000 |