-assign ssp_clk = clk_lo;\r
-assign ssp_frame = (carrier_divider_lo == 3'b001);\r
-assign ssp_din = to_arm_shiftreg[7];\r
-\r
-// The ADC converts on the falling edge, and our serializer loads when\r
-// carrier_divider_lo == 3'b000.\r
-assign adc_clk = ~carrier_divider_lo[2];\r
-\r
+// ADC samples on falling edge of adc_clk, data available on the rising edge\r
+\r
+// example of ssp transfer of binary value 1100101\r
+// start of transfer is indicated by the rise of the ssp_frame signal\r
+// ssp_din changes on the rising edge of the ssp_clk clock and is clocked into\r
+// the ARM by the falling edge of ssp_clk\r
+// _______________________________\r
+// ssp_frame__| |__\r
+// _______ ___ ___\r
+// ssp_din __| |_______| |___| |______\r
+// _ _ _ _ _ _ _ _ _ _\r
+// ssp_clk |_| |_| |_| |_| |_| |_| |_| |_| |_| |_\r
+\r
+// serialized SSP data is gated by ant_lo to suppress unwanted signal\r
+assign ssp_din = to_arm_shiftreg[7] && !ant_lo;\r
+// SSP clock always runs at 24Mhz\r
+assign ssp_clk = pck0;\r
+// SSP frame is gated by ant_lo and goes high when pck_divider=8..15\r
+assign ssp_frame = (pck_divider[7:3] == 5'd1) && !ant_lo;\r
+// unused signals tied low\r