A firmware review for a gamma-ray counting instrument contains three claims

PHYSICS · Multi-part · Fermi University Physics · Electronics, Instrumentation & Communication · Digital electronics, embedded systems and data acquisition · Digital electronics, embedded systems and data acquisition

Inside the Instrument, Ch Microcontrollers and programmable logic for measurement

Problem

A firmware review for a gamma-ray counting instrument contains three claims. Find the error in each. ((a)) "Our sampling produces 500 S s−1500\,\mathrm{S\,s^{-1}} of two-byte samples, 1000 B s−11000\,\mathrm{B\,s^{-1}}, and the serial link runs at 48004800 baud with ten bits per frame, 480 B s−1480\,\mathrm{B\,s^{-1}}. After we saw lost samples we enlarged the buffer to 2048 bytes2048\,\mathrm{bytes}; the problem has not recurred since, so it is solved." ((b)) A 4-bit counter with enable is described as: process(clk) begin if rising_edge(clk) then if en='1' then count <= count+1; end if; end if; end process; and the report states: "because the if en=’1’\texttt{if en='1'} line is evaluated before the increment line, even when enen is already high before a rising edge, count\texttt{count} does not increment on that edge but only on the next one, a one-cycle start-up delay." ((c)) "We did not add a separate watchdog timer, because the main loop already contains an if\texttt{if} statement that clears an error flag every time the loop completes an iteration; that check protects us against the loop hanging."

Browse the problem library