Arduino Pins getaktet einlesen

Wenn du ab ca 1kHz Probleme kriegst, spricht das dafür, dass du ca. 1ms loop() durchlaufzeit hast. Ohne Code läßt sich das schwer sagen.
ein analogReag() dauert ca. 120µs. 44kHz wirst du nicht schaffen.

Wenn du aber schlicht einen Sinus in ein Rechteck wandeln willst, ist vielleicht eine reine Hardwarelösung besser.